2014秋C++第12周项目2参考-OJ平台题目中多种输入形式的处理

来源:互联网 发布:php记事本源码 编辑:程序博客网 时间:2024/05/19 17:23
课程主页在http://blog.csdn.net/sxhelijian/article/details/39152703,课程资源在云学堂“贺老师课堂”同步展示,使用的帐号请到课程主页中查看。 


【项目2-OJ平台题目中多种输入形式的处理】
看教学视频或“OJ平台题目中不同形式输入的处理”,完成平台中的一组题目,分别对应不同输入的形式的问题。

A: N组数的最大公约数

Description

计算一组数的最大公约数

Input

第一行是数据的组数N,从第二行是N组由两个整数(ab)构成的输入,ab之间用空格隔开,每组输入单独占一行

Output

每组的两个整数(ab)的最大 公约数,每个结果独占一行

Sample Input

3

98 72

80 36

12 144

Sample Output

2

4

12

参考解答:

#include<iostream>using namespace std;int gys(int,int);int main(){int i,n,a,b,c;cin>>i;for(n=1;n<=i;n++){cin>>a>>b;c=gys(a,b);cout<<c<<endl;}return 0;}int gys(int m,int n){int t,r;if(m<n){t=m;    m=n;n=t;}while(n!=0){r=m%n;m=n;n=r;}return m;}

  


B:分离正整数中的各位数

Description

输出正整数的各位数

Input

若干个用空格隔开的正整数(输入个数不确定,键盘输入时,以CTRL-Z结束)

Output

每个正整数的各位数字,个位数在前,十位数紧随,最高位在最后,每位数后面有一个空格。每个正整数对应的输出占一行。

Sample Input

123 9523 89

Sample Output

3 2 1 

3 2 5 9 

9 8

参考解答:

#include<iostream>using namespace std;int main(){    int n,a;    //freopen("input.txt","r",stdin);    while(cin>>n)    {        a=n;        while(a>0)        {            cout<<a%10<<' ';            a=a/10;        }        cout<<"\n";    }    return 0;}



C:刑警的射击成绩

Description

刑警培训结束,进行了射击科检验。教官要对学员射击的成绩进行分析,得出各分数段人数统计。

Input

输入若干个0-10间的整数(最高10环,脱靶为0)表示成绩,人数不确定,输入以一个0-10以外的数作为。

Output

各分数段(A:9环以上,B:7环以上,C:5环以上,D:不足5环)的人数,每项成绩占一行

Sample Input

9 7 3 5 8 5 6 7 9 10 0 6 99

Sample Output

A:3

B:3

C:4

D:2

参考解答:
#include<iostream>using namespace std;int main(){int x,A=0,B=0,C=0,D=0;while((cin>>x)&&!(x>10||x<0)){switch(x){case 0:case 1:case 2:case 3:case 4:D++;break;case 5:case 6:C++;break;case 7:case 8:B++;break;case 9:case 10:A++;}}cout<<"A:"<<A<<endl;cout<<"B:"<<B<<endl;cout<<"C:"<<C<<endl;cout<<"D:"<<D<<endl;return 0;}








=================== 迂者 贺利坚 CSDN博客专栏=================|== IT学子成长指导专栏 专栏文章的分类目录(不定期更新) ==||== C++ 课堂在线专栏  贺利坚课程教学链接(分课程年级) ==||== 我写的书——《逆袭大学——传给IT学子的正能量》    ==|===== 为IT菜鸟起飞铺跑道,和学生一起享受快乐和激情的大学 =====

0 0