【项目2-OJ平台题目中多种输入形式的处理】
看教学视频或“OJ平台题目中不同形式输入的处理”,完成平台中的一组题目,分别对应不同输入的形式的问题。
A: 求N组数的最大公约数
Description
计算一组数的最大公约数
Input
第一行是数据的组数N,从第二行是N组由两个整数(a和b)构成的输入,a和b之间用空格隔开,每组输入单独占一行
Output
每组的两个整数(a和b)的最大 公约数,每个结果独占一行
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菜鸟起飞铺跑道,和学生一起享受快乐和激情的大学 ===== |