0
点赞
收藏
分享

微信扫一扫

2014秋C++第12周OJ题目参考

玩物励志老乐 2022-03-18 阅读 31


2447: 求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 gcd(int,int);
int main()
{
int i,n,a,b,c;
cin>>i;
for(n=1; n<=i; n++)
{
cin>>a>>b;
c=gcd(a,b);
cout<<c<<endl;
}
return 0;
}
int gcd(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;
}



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

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;
while(cin>>n)
{
a=n;
while(a>0)
{
cout<<a%10<<' ';
a=a/10;
}
cout<<"\n";
}
return 0;
}



2449:刑警的射击成绩

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;
}



举报

相关推荐

0 条评论