C语言oj学生成绩输入和输出,『ACM入门』蓝桥杯ACM训练系统基本输入输出教程
在介绍训练场的OJ系统之前,首先为大家介绍一下ACM:
ACM原代表美国计算机协会,因其举办的ICPC即国际大学生程序设计竞赛而闻名全世界,此项赛事要求学生的在五小时内解决全英文问题,并在效率和速度以及代码的审查上要求非常严格以至近乎苛刻,被誉为是计算机界的“奥林匹克”。在大学中,因其含金量、认可度等非常之高,故而在大学生名企就业、保研、留学等方面都有着极大的帮助。ACM也因其独有的比赛趣味也在今天的高校中也得到了广泛的推广,许多大学生都为之着迷、甚至大学四年都为之献身。足以说明ACM的魅力所在。
OJ简介:
ACM比赛中主要以OJ(即Online Judge)判题为主,用来在线检测程序的正确性。OJ采用后台黑箱测试,测试数据非常全面,涵盖各种特殊情况。并且在结果的比对上也不放过一个空格和回车,这就要求程序员要有非常严谨的思维。著名的OJ有POJ、HOJ、UVA等。
在各大OJ的ACM比赛赛题上,往往都会给出问题的描述(Description)、问题的输入和输出要求,并会给出几组样例数据。所以选手要在完全理解的基础上至少通过了样例数据才再提交代码。
下面我们介绍几种常见的输入输出格式。
A+B Ⅰ
此题只要求用户求A+B的和,但此类题目往往说明测试数据有多组。则默认是到文件(后台测试用例在文件里)末尾结束。我们则可以采用循环的方式不断接收测试用例,并且每接收一组输出一组(不必全部输入再全部输出,因为OJ只比对一次最后的结果)。
参考C代码:
#include
int main()
{
int a,b;
while(scanf(“%d%d”,&a,&b)==2) //利用scanf的返回值
{
printf(“%d\n”,a+b);
}
return 0;
}
A+BⅡ
依然是A+B,我们可以看一下这道题http://www.dotcpp.com/oj/problem1086.html
依然是求A+B,但它的输入数据为:
2
1 5
10 20
输出为:
6
30
此题相比第一道而言,会提前告诉你是几组数据,第一行的2就表示有两组数据。则此时我们可以考虑这样写:
#include
int main()
{
int n;
int a,b;
scanf("%d",&n);
while(n--)
{
scanf("%d%d",&a,&b);
printf("%d\n",a+b);
}
return 0;
}
A+B Ⅲ
继续是A+B,不同的是题目中说明,有多组数据,但是以A和B都为0时结束,则此时,就要做判断。不能依然输出0。
参考答案:
#include
int main()
{
int a,b;
while(scanf("%d%d",&a,&b)==2)
{
if(a== 0 && b==0)
break;
printf("%d\n",a+b);
}
return 0;
}
A+B Ⅳ
题目描述:此类题目是求n个数的和,输入为先输入一个数组n,然后后面跟n个数字,求这n个数字的和。同样有多组数据,当n=0时结束。题目链接http://www.dotcpp.com/oj/problem1088.html
样例输入:
4 1 2 3 4
5 1 2 3 4 5
0
样例输出:
10
15
参考写法:
#include
int main()
{
int n;
int sum,temp;
while(scanf("%d",&n) && n)
{
sum=0;
while(n--)
{
scanf("%d",&temp);
sum+=temp;
}
printf("%d\n",sum);
}
return 0;
}
总结:
常见的ACM的输入输出格式如这些。
多组数据可能还会用到EOF、NULL这些宏。比如scanf、getchar、gets的返回值。
万变不离其宗,有些题目可能是这些格式的组合,亦或者是个别情况的变种,比如输出格式要求的变化等等,就需要各位ACMer灵活多变了。
DJTU2012年退役Acmer
C语言研究中心(www.dotcpp.com)
C语言网, 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明『ACM入门』蓝桥杯ACM训练系统基本输入输出教程!
C语言oj学生成绩输入和输出,『ACM入门』蓝桥杯ACM训练系统基本输入输出教程相关推荐
- Problem B: C语言习题 学生成绩输入和输出
Problem B: C语言习题 学生成绩输入和输出 Description 编写一个函数print,打印一个学生的成绩数组,该数组中有5个学生的数据,每个学生的数据包括num(学号).name(姓名 ...
- [YTU]_2429( C语言习题 学生成绩输入和输出)
题目描述 编写一个函数print,打印一个学生的成绩数组,该数组中有5个学生的数据,每个学生的数据包括num(学号).name(姓名).score[3](3门课的成绩).编写一个函数input,用来输 ...
- c语言统计学生成绩输入一个正整数n,输入一个正整数n,再输入n个学生的成绩,计算平均分,并统计各等级成绩的个数...
#include main() { int n,i; int A=0,B=0,C=0,D=0,E=0;//用来统计各阶段学生成绩的人数,初始值都为0: float score;//定义成绩变量: fl ...
- 结构体学生成绩输入和输出
Time Limit: 1 Sec Memory Limit: 128 MB Submit: 186 Solved: 57 [Submit][Status][Web Board] Descript ...
- 学生成绩等级用c语言,C语言实现学生成绩等级划分的方法实例
C语言实现学生成绩等级划分的方法实例 题目·:用if-else嵌套语句实现学生成绩等级查询 要求:分为ABCD4个等级,100-90为A:90-70为B:70-60为C:60以下为D 思路: 1.先从 ...
- 用c语言实现成绩统计的设计,c语言实现学生成绩管理系统.doc
c语言实现学生成绩管理系统.doc 学号102128121武汉理工大学华夏学院课程设计报告书课程名称:数据结构题目:用C语言实现成绩统计程序的设计系名:信息工程系专业班级:软件工程1121姓名:指导教 ...
- 影碟管理系统c语言小学期,大连东软小学期C语言项目学生成绩管理系统代码.docx...
大连东软小学期C语言项目学生成绩管理系统代码 /*链表版学生成绩管理系统的main函数与链表构建模块的代码*/#include #include #include struct STUDENT{ ch ...
- C语言编写学生成绩管理系统
文章链接:https://codemouse.online/archives/2020-06-04-16-07-48 需求 用C语言编写学生成绩管理系统,要求该系统可 对学生操作:添加和删除操作. 可 ...
- c语言成绩管理系统总结分析报告,c语言下学生成绩管理系统程序设计报告
<c语言下学生成绩管理系统程序设计报告>由会员分享,可在线阅读,更多相关<c语言下学生成绩管理系统程序设计报告(17页珍藏版)>请在人人文库网上搜索. 1.信息技术学院本科课程 ...
最新文章
- oracle乘法运算,oracle实现相乘话语
- 蓝牙设备探测工具blueranger
- 【Kaggle-MNIST之路】CNN再添加一个层卷积(八)
- Ubuntu16.04下面壁纸切换软件variety设置
- Ti的DM368系列芯片的所有PDF资料汇总
- 应用服务器——JBoss架构分析
- make clean
- L1-044 稳赢-PAT团体程序设计天梯赛GPLT
- 8.16 记忆增强神经网络:MANN、神经网络图灵机
- java垃圾收集器、Serial收集器、ParNew收集器、Parallel Scavenge收集器、Serial Old 收集器、CMS收集器、G1收集器、如何查看GC日志
- Spurious Local Minima are Common in Two-Layer ReLU Neural Networks
- Papervision 3D的简介
- 下列关于三种数据交换方式的叙述,错误的是( )
- 微型机器人的认知和研发技术
- 史上最全亚马逊申诉模板!!!!
- 《程序员升职记》第九年 零保护行动
- 把一个人的特点写具体作文_把一个人的特点写具体的作文
- python支持保护类型_1.7. 保护、继承、多态
- 新手安装R以及Rstudio软件
- 持续盈利背后,水滴“新增长”难寻?