C算机编程题一.题目标题:四位反序数(卜胜贤)题目描述:设N是一个四位数,它的n倍恰好是其反序数(例如:123的反序数是321),编程,输出一个满足条件的N。(知识点:控制语句)输入描述:输入为一个整形数n(2=n=9)输出描述描述:输出为一个四位数的整形数样式输入:9样式输出:1089#includestdio.h#includestring.hintmain(){intn;intg,s,b,q,i;scanf(%d,&n);for(i=1000;i10000;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);}return0;}二.题目标题:年龄分组(卜胜贤)题目描述:统计各年龄段的人数。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个正整数;样式输入:12111222233334444555566667688899100101102样式输出:22222230113#includestdio.hintmain(){int,age[20],d[11]={0};for(i=0;i20;i++)scanf(%d,&age[i]);for(i=0;i20;i++){swith(age[i]/10){case0:d[0]++;break;case1:d[1]++;break;case2:d[2]++;break;case3:d[3]++;break;case4:d[4]++;break;case5:d[5]++;break;case6:d[6]++;break;case7:d[7]++;break;case8:d[8]++;break;case9:d[9]++;break;default:d[10]++;break;}}for(i=0;i10;i++)printf(%d,d[i]);printf(%d,d[10]);return0;}三.题目标题:求三个整数的最大公约数(杨洁)题目描述:对任意三个整数,求它们的最大公约数输入描述:三个整数a,b,c#includestdio.hintgcd(intn,intm){if(m=0)returnn;returngcd(m,n%m);}intmain(){intx,y,z;scanf(%d%d%d,&x,&y,&z);printf(%d,gcd(gcd(x,y),z));return0;}四题目标题:发放奖金(杨鼎强)题目描述:某车间按工人加工零件的数量发放奖金,奖金分为五个等级:每月加工零件数N100者奖金为10元;100=N110者奖金为30元;110=N120者奖金为50元;120=N130者奖金为70元;N130者奖金为80元。请编程,由键盘输入加工零件数量,显示应发奖金数。输入描述:输入10个加工零件数量,数量小于400.输出描述描述:对每一个加工零件个数,输出应发奖金数,每个奖金数之间用空格隔开#includestdio.hinta[10];intmain(){inti,k;for(i=0;i10;i++)scanf(%d,&a[i]);for(i=0;i10;i++){k=a[i]/10;if(k10)a[i]=10;elseswitch(k){case10:a[i]=30;break;case11:a[i]=50;break;case12:a[i]=70;break;default:a[i]=80;break;}}printf(%d,a[0]);for(i=1;i10;i++)printf(%d,a[i]);return0;}五.题目标题:矩阵计算(甘正佳)题目描述:求一个3*3矩阵对角线元素之和。输入描述:按行输入9个整数。输出描述描述:对角线元素之和#includestdio.hintmain(){inta[3][3];inti,j;for(i=0;i3;i++)for(j=0;j3;j++)scanf(%d,&a[i][j]);printf(%d,a[0][0]+a[1][1]+a[2][2]);return0;}六.题目标题:歌手比赛(甘文)题目描述:青年歌手参加歌曲大奖赛,有10个评委对她的进行打分,试编程求这位选手的平均得分(去掉一个最高分和一个最低分)。输入描述:10个评委的分数,每个分数是一个浮点数.输入数据保证有一个最低分,一个最高分,且最高分,最低分不相同.其它是数据与最低、最高均不相同输出描述描述:输出歌手的得分,保留一位小数.所有输出的最后一行不能有回车#includestdio.hintmain(){doublea[10],max,min,sum;inti;for(i=0;i10;i++)scanf(%lf,&a[i]);sum=min=max=a[0];for(i=1;i10;i++){if(maxa[i])max=a[i];if(mina[i])min=a[i];sum+=a[i];}printf(%lf,(sum-min-max)/8);return0;}七.题目标题:统计(左利芳)题目描述:统计个位数为6的n位数,且能被m整除的共有多少个?输入描述:一个整数n(n=5),表示该整数的位数,一个整数m(1~9);输出描述描述:符合条件的数的个数。#includestdio.hintf(intn){intt=1,i;for(i=1;i=n;i++)t*=10;returnt;}intmain(){intn,m,i,count=0;scanf(%d%d,&n,&m);for(i=f(n-1)+6;if(n);i+=10)if(i%m==0)count++;printf(%d,count);return0;}八.题目标题:四位数(左利芳)题目描述:计算满足下述条件的四位数的个数:把数字abcd重新组成两个新的两位数:ac及db,如果新组成的两个十位数acdb,且ac必须是偶数且能被n(n为1~9的整数)整除,db必须是奇数,同时两个新数的十位数字均不为零。输入描述:一个1~9的整数。输出描述描述:符合条件的数的个数。#includestdio.hintmain(){inti,j,count=0,n;scanf(%d,&n);for(i=10;i100;i+=2)for(j=11;j100;j+=2)if(ij&&i%n==0)count++;printf(%d,count);return0;}九.题目标题:产值翻番计算(左利芳)题目描述:假设当年工业产值为100,工业产值的增长率每年为c%,从键盘输入一个c(0=c=30),试求工业产值过多少年可实现翻番(即增加一倍)。注:后一年的产值是在前一年的基础上增长c%。输入描述:一个0~30的实数(增长率)。输出描述描述:实现翻番的年数。样式输入:6样式输出:12#includestdio.hintmain(){intcount=0;doublec,t=1;scanf(%lf,&c);while(t2){t*=(c/100+1);count++;}printf(%d,count);return0;}十.题目标题:四位数(左利芳)题目描述:计算满足下述条件的四位数的个数:把数字abcd重新组成两个新的两位数:ac及db,如果新组成的两个十位数acdb,且ac必须是偶数且能被n(n为1~9的整数)整除,db必须是奇数,同时两个新数的十位数字均不为零。输入描述:一个1~9的整数。输出描述描述:符合条件的数的个数。十一.题目标题:分数比较(彭纪良)题目描述:请编程实现比较两个分数的大小。(注:进行分数的通分后再比较分子的大小)输入描述:输入两个分数,格式为分子/分母分子/分母,分子,分母均为整数。输出描述描述:输出比较后的结果。如果等于,则输出分子/分母=分子/分母;如果小于分子/分母分子/分母;如果大于,则输出分子/分母分子/分母#includestdio.hintgcd(intx,inty){intr=x%y;while(r){x=y;y=r;r=x%y;}returny;}intmain(){inta,b,c,d,t;scanf(%d%d%d%d,&a,&b,&c,&d);if(bd)t=gcd(b,d);elset=gcd(d,b);if(a*d/tc*b/t)printf(%d%d%d%d,a,b,c,d);elseif(a*d/t==c*b/t)printf(%d%d=%d%d,a,b,c,d);elseprintf(%d%d%d%d,a,b,c,d);return0;}十二题目标题:求人数(甘文)题目描述:定义一个函数,功能是计算n个学生的成绩中,高于平均成绩的人数,并作为函数值。用主函数来调用它,统计50个学生成绩中,高于平均成绩的有多少人?输入描述:输入50个学生的成绩输出描述描述:输出一个整数表示高于平均成绩的人数样式输入:4546474849504152535455565758596061626364656667686970717273747576777879808182838485868788899091929394样式输出:25#includestdio.h#includemath.h#includestring.hintaver(inta[],doublesum){inti=0,n=0;for(;i50;i++)if(a[i]sum)n++;returnn;}intmain(){inta[55],i;doublesum=0;for(i=0;i50;i++){scanf(%d,&a[i]);sum+=a[i];}sum/=50;printf(%d,aver(a,sum));return0;}十三.题目标题:3.2求圆的周长和面积题目描述:从键盘输入圆的半径,求该圆的周长和面积。(注:取3.14)输入描述:一个实数r。输出描述描述:圆的周长和面积。#includestdio.h#definePI3.14intmain(){doubler,l,s;scanf(%lf,&r);l=2*PI*r;s=PI*r*r;printf(r=%.2f,l=%.2f,s=%.2f,l,s);return0;}十四.题目标题:3.4确定一个数的位数题目描述:编写程序用来确定一个数的位数。如:输入:567输出:Thenumber567has3digits假设输入的数最多不超过四位。输入描述:一个整数n。输出描述描述:按指定格式输出这个数的位数。#includestdio.hmain(){intn,x,digits=0;scanf(%d,&n);x=n;do{x=x/10;digits++;}while(x);printf(Thenumberb%dhas%ddigits,n,digits);}十五.题目标题:3.9阶乘累加题目描述:计算1!+2!+3!……+n!输入描述:一个整数n(n=10)。输出描述描述:1到n的阶乘累加之和。样式输入:5样式输出:s=153#includestdio.hmain(){intn,i,s,sum;scanf(%d,&n);longs=1,sum=0;for(i=1;i=n;i++){s*=i;sum+=s;}printf(s=%lld,sum);return0;}十六.计算e的近似值利用泰勒级数e=1+1/1!+1/2!+……+1/n!,计算e的近似值。精度要求最后一项的绝对值小于f(如:f=1e-5)。#