长沙理工大学2014年上期期末c语言编程题库
C算机编程题
一.
题目标题:四位反序数(卜胜贤)
题目描述:设N是一个四位数,它的n倍恰好是其反序数(例如:123的反序数是321),编程,输出一个满足条件的N。(知识点:控制语句)
输入描述:输入为一个整形数n(2<=n<=9)
输出描述描述:输出为一个四位数的整形数
样式输入:9
样式输出:1089
#include
#include
int main()
{
int n;int g,s,b,q,i;
scanf("%d",&n);
for(i=1000;i<10000;i++)
{
q=i/1000;
b=i/100%10;
s=i/10%10;
g=i%10;
if(i*n==q+b*10+s*100+g*1000)
printf("%d",i);
}
return 0;
}
二.
题目标题:年龄分组(卜胜贤)
题目描述:统计各年龄段的人数。N(N=20)个年龄通过键盘输入,并放在age数组中;要求函数把0至9岁年龄段的人数放在d[0]中,把10至19岁年龄段的人数放在d[1]中, 把20至29岁年龄段的人数放在d[2]中, 其余依此类推, 把100岁 (含100)以上年龄的人数都放在d[10]中。依次输出d[0]至d[10]。
输入描述:输入为20个正整数;
输出描述描述:输出为11个正整数;
样式输入:1 2 11 12 22 23 33 34 44 45 55 56 66 67 68 88 99 100 101 102
样式输出:2 2 2 2 2 2 3 0 1 1 3
#include
int main()
{
int,age[20],d[11]={0};
for(i=0;i<20;i++)
scanf("%d",&age[i]);
for(i=0;i<20;i++)
{
swith(age[i]/10)
{
case 0:d[0]++;break;
case 1:d[1]++;break;
case 2:d[2]++;break;
case 3:d[3]++;break;
case 4:d[4]++;break;
case 5:d[5]++;break;
case 6:d[6]++;break;
case 7:d[7]++;break;
case 8:d[8]++;break;
case 9:d[9]++;break;
default:d[10]++;break;
}
}
for(i=0;i<10;i++)
printf("%d",d[i]);
printf("%d",d[10]);
return 0;
}
三.
题目标题:求三个整数的最大公约数(杨洁)
题目描述:对任意三个整数,求它们的最大公约数
输入描述:三个整数a,b,c
#include
int gcd(int n,int m)
{
if(m=0) return n;
return gcd(m,n%m);
}
int main()
{
int x,y,z;
scanf("%d%d%d",&x,&y,&z);
printf("%d",gcd(gcd(x,y),z));
return 0;
}
四
题目标题:发放奖金(杨鼎强)
题目描述:某车间按工人加工零件的数量发放奖金,奖金分为五个等级:每月加工零件数N < 100者奖金为10元;100 < = N < 110者奖金为30元;110 < = N <120 者奖金为50元;120 < = N <130 者奖金为70元;N > 130者奖金为80元。 请编程,由键盘输入加工零件数量,显示应发奖金数。
输入描述:输入10个加工零件数量,数量小于400.
输出描述描述:对每一个加工零件个数,输出应发奖金数,每个奖金数之间用空格隔开
#include
int a[10];
int main()
{
int i,k;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
{
k=a[i]/10;
if(k<10) a[i]=10;
else
switch(k)
{
case 10:a[i]=30;break;
case 11:a[i]=50;break;
case 12:a[i]=70;break;
defau