当前位置:文档之家› C语言20道编程题操作题示例

C语言20道编程题操作题示例

1.题目标题:四位反序数题目描述:设N是一个四位数,它的n倍恰好是其反序数(例如:123的反序数是321),编程,输出一个满足条件的N。

(知识点:控制语句)输入描述:输入为一个整形数n(2<=n<=9)输出描述:输出为一个四位数的整形数样式输入:9样式输出:1089#include<stdio.h>main(){int n,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\n",i);}}2. 题目标题:年龄分组题目描述:统计各年龄段的人数。

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 23 0 1 1 3#include<stdio.h>main(){int i,age[20],d[11]={0};for(i=0;i<20;i++)scanf("%d",&age[i]);for(i=0;i<20;i++)switch(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\n",d[i]);}3.题目标题:求三个整数的最大公约数题目描述:对任意三个整数,求它们的最大公约数输入描述:三个整数a,b,c输出描述:a,b,c的最大公约数样式输入:4 24 32样式输出:4#include<stdio.h>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;}4.题目标题:发放奖金题目描述:某车间按工人加工零件的数量发放奖金,奖金分为五个等级:每月加工零件数N < 100者奖金为10元;100 < = N < 110者奖金为30元;110 < = N <120 者奖金为50元;120 < = N <130 者奖金为70元;N > 130者奖金为80元。

请编程,由键盘输入加工零件数量,显示应发奖金数。

输入描述:输入10个加工零件数量,数量小于400.输出描述:对每一个加工零件个数,输出应发奖金数,每个奖金数之间用空格隔开样式输入:85 85 85 85 85 85 85 85 85 85样式输出:10 10 10 10 10 10 10 10 10 10#include <stdio.h>main(){int a[10],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;elseswitch(k){case 10: a[i]=30; break;case 11: a[i]=50; break;case 12: a[i]=70; break;default: a[i]=80; break;}}printf("%d",a[0]);for(i=1;i<10;i++)printf(" %d",a[i]);return 0;}5.题目标题:矩阵计算题目描述:求一个3*3矩阵对角线元素之和。

输入描述:按行输入9个整数。

输出描述:对角线元素之和样式输入:1 2 3 4 5 6 7 8 9样式输出:15#include<stdio.h>int main(){int a[3][3];int i,j;for(i=0;i<3;i++)for(j=0;j<3;j++)scanf("%d",&a[i][j]);printf("%d",a[0][0]+a[1][1]+a[2][2]); return 0;}6.题目标题:歌手比赛题目描述:青年歌手参加歌曲大奖赛,有10个评委对她的进行打分,试编程求这位选手的平均得分(去掉一个最高分和一个最低分)。

输入描述:10个评委的分数,每个分数是一个浮点数.输入数据保证有一个最低分,一个最高分,且最高分,最低分不相同.其它是数据与最低、最高均不相同输出描述:输出歌手的得分,保留一位小数.所有输出的最后一行不能有回车样式输入:8.5 9 9.8 6.5 8.7 8.5 9.3 9.6 8.9 8.2样式输出:8.8#include<stdio.h>int main(){double a[10],max,min,sum;int i;for(i=0;i<10;i++)scanf("%lf",&a[i]);sum=min=max=a[0];for(i=1;i<10;i++){if(max<a[i]) max=a[i];if(min>a[i]) min=a[i];sum+=a[i];}printf("%.1lf",(sum-min-max)/8);return 0;}7.题目标题:统计题目描述:统计个位数为6的n位数,且能被m整除的共有多少个?输入描述:一个整数n(n<=5),表示该整数的位数,一个整数m(1~9);输出描述:符合条件的数的个数。

样式输入:2 3样式输出:3#include<stdio.h>int f(int n){int t=1,i;for(i=1;i<=n;i++)t*=10;return t;}int main(){int n,m,i,count=0;scanf("%d%d",&n,&m);for(i=f(n-1)+6;i<f(n);i+=10)if(i%m==0)count++;printf("%d",count);return 0;}8.题目标题:四位数题目描述:计算满足下述条件的四位数的个数:把数字abcd重新组成两个新的两位数:ac及db,如果新组成的两个十位数ac>db,且ac必须是偶数且能被n(n为1~9的整数)整除,db必须是奇数,同时两个新数的十位数字均不为零。

输入描述:一个1~9的整数。

输出描述:符合条件的数的个数。

样式输入:5样式输出:180#include<stdio.h>int main()int i,j,count=0,n;scanf("%d",&n);for(i=10;i<100;i+=2)for(j=11;j<100;j+=2)if(i>j&&i%n==0)count++;printf("%d",count);return 0;}9.题目标题:产值翻番计算题目描述:假设当年工业产值为100,工业产值的增长率每年为c%,从键盘输入一个c(0<=c<=30),试求工业产值过多少年可实现翻番(即增加一倍)。

注:后一年的产值是在前一年的基础上增长c%。

输入描述:一个0~30的实数(增长率)。

输出描述:实现翻番的年数。

样式输入:6样式输出:12#include <stdio.h>int main(){int count=0;double c,t=1;scanf("%lf",&c);while(t<2){t*=(c/100+1);count++;}printf("%d",count);return 0;}10.题目标题:行李托运题目描述:铁路托运行李规定:行李重不超过50公斤的,托运费按每公斤0.15元计费;如超过50公斤,超过部分每公斤按0.25元计费。

请编程实现自动计费功能。

输入描述:输入一个整数,表述要托运的行李的重量,单位为公斤输出描述:托运的行李重量(单位公斤)空格和运费(单位为元,保留2位小数)。

样式输入:45样式输出:45 6.75#include <stdio.h>int main(){double x,y;scanf("%lf",&x);if(x<50)y=x*0.15;elsey=(x-50)*0.25+50*0.15;printf("%.0lf %.2lf",x,y);return 0;}11.题目标题:分数比较题目描述:请编程实现比较两个分数的大小。

(注:进行分数的通分后再比较分子的大小)输入描述:输入两个分数,格式为分子/分母分子/分母,分子,分母均为整数。

输出描述:输出比较后的结果。

如果等于,则输出分子/分母=分子/分母;如果小于分子/分母<分子/分母;如果大于,则输出分子/分母>分子/分母样式输入:1/2 1/3样式输出:1/2>1/3#include <stdio.h>int gcd(int x,int y){int r=x%y;while(r){x=y;y=r;r=x%y;}return y;}int main(){int a,b,c,d,t;scanf("%d/%d %d/%d",&a,&b,&c,&d);if(b>d)t=gcd(b,d);elset=gcd(d,b);if(a*d/t>c*b/t)printf("%d/%d>%d/%d",a,b,c,d);else if(a*d/t==c*b/t)printf("%d/%d=%d/%d",a,b,c,d);elseprintf("%d/%d<%d/%d",a,b,c,d);return 0;}12.题目标题:求人数题目描述:定义一个函数,功能是计算n个学生的成绩中,高于平均成绩的人数,并作为函数值。

相关主题