C语言编程题库.docx
- 文档编号:7584071
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:19
- 大小:19.05KB
C语言编程题库.docx
《C语言编程题库.docx》由会员分享,可在线阅读,更多相关《C语言编程题库.docx(19页珍藏版)》请在冰豆网上搜索。
C语言编程题库
1.题目描述
题目标题:
四位反序数(卜胜贤)
题目描述:
设N是一个四位数,它的n倍恰好是其反序数(例如:
123的反序数是321),编程,输出一个满足条件的N。
(知识点:
控制语句)
输入描述:
输入为一个整形数n(2<=n<=9)
输出描述描述:
输出为一个四位数的整形数
样式输入:
9
样式输出:
1089
#include
intmain()
{
intn,i,a1,a2,a3,a4;
scanf("%d",&n);
for(i=1000;i<10000;i++)
{
a1=i%10;
a2=i/10%10;
a3=i/100%10;
a4=i/1000;
if(i*n==a1*1000+a2*100+a3*10+a4)
printf("%d\n",i);//如果结果不要求换行,为:
printf("%d",i);
}
return0;
}
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个正整数;
样式输入:
12111222233334444555566667688899100101102
样式输出:
22222230113
3.题目描述
题目标题:
求三个整数的最大公约数(杨洁)
题目描述:
对任意三个整数,求它们的最大公约数
输入描述:
三个整数a,b,c
输出描述描述:
a,b,c的最大公约数
样式输入:
42432
样式输出:
4
#include
intmain()
{
inta,b,c,min,max,t;
scanf("%d%d%d",&a,&b,&c);
min=a
a:
b;
max=a>b?
a:
b;
while(max%min!
=0)
{
t=min;
min=max%min;
max=min;
}
printf("%d",min);
}
4.题目描述
题目标题:
发放奖金(杨鼎强)
题目描述:
某车间按工人加工零件的数量发放奖金,奖金分为五个等级:
每月加工零件数N<100者奖金为10元;100<=N<110者奖金为30元;110<=N<120者奖金为50元;120<=N<130者奖金为70元;N>130者奖金为80元。
请编程,由键盘输入加工零件数量,显示应发奖金数。
输入描述:
输入10个加工零件数量,数量小于400.
输出描述描述:
对每一个加工零件个数,输出应发奖金数,每个奖金数之间用空格隔开
样式输入:
85858585858585858585
样式输出:
10101010101010101010
#include
intmain()
{
inti=10,n,sum;
while(i--)
{
scanf("%d",&n);
if(n<100)
sum=10;
elseif(n>=100&&n<110)
sum=30;
elseif(n>=110&&n<120)
sum=50;
elseif(n>=120&&n<130)
sum=70;
else
sum=80;
printf("%d",sum);
}
}
5.题目描述
题目标题:
矩阵计算(甘正佳)
题目描述:
求一个3*3矩阵对角线元素之和。
输入描述:
按行输入9个整数。
输出描述描述:
对角线元素之和
样式输入:
123456789
样式输出:
15
#include
intmain()
{
inta[3][3],sum=0;
inti,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
for(i=0;i<3;i++)
sum+=a[i][i];
printf("%d",sum);//此题有问题,是那条对角线没说明。
}
6.题目描述
题目标题:
歌手比赛(甘文)
题目描述:
青年歌手参加歌曲大奖赛,有10个评委对她的进行打分,试编程求这位选手的平均得分(去掉一个最高分和一个最低分)。
输入描述:
10个评委的分数,每个分数是一个浮点数.输入数据保证有一个最低分,一个最高分,且最高分,最低分不相同.其它是数据与最低、最高均不相同
输出描述描述:
输出歌手的得分,保留一位小数.所有输出的最后一行不能有回车
样式输入:
8.599.86.58.78.59.39.68.98.2
样式输出:
8.8
7.题目描述
题目标题:
统计(左利芳)
题目描述:
统计个位数为6的n位数,且能被m整除的共有多少个?
输入描述:
一个整数n(n<=5),表示该整数的位数,一个整数m(1~9);
输出描述描述:
符合条件的数的个数。
样式输入:
23
样式输出:
3
#include
intmain()
{
inti,n,m,a=1,b=0,count=0;
scanf("%d%d",&n,&m);
for(i=1;i a*=10; b=a*10; a+=6; for(i=a;i<=b;i=i+10) if(i%m==0) count++; printf("%d",count); return0; } 题目8标题: 四位数(左利芳) 题目描述: 计算满足下述条件的四位数的个数: 把数字abcd重新组成两个新的两位数: ac及db,如果新组成的两个十位数ac>db,且ac必须是偶数且能被n(n为1~9的整数)整除,db必须是奇数,同时两个新数的十位数字均不为零。 输入描述: 一个1~9的整数。 输出描述描述: 符合条件的数的个数。 样式输入: 5 样式输出: 180 #include intmain() { inti,a,b,c,d,t1,t2,n,count=0; scanf("%d",&n); for(i=1000;i<10000;i++) { a=i/1000; b=i/100%10; c=i/10%10; d=i%10; t1=a*10+c; t2=d*10+b; if(t1>t2&&t1%2==0&&t1%n==0&&t2%2! =0&&a! =0&&d! =0) count++; } printf("%d",count); } 9.题目描述 题目标题: 产值翻番计算(左利芳) 题目描述: 假设当年工业产值为100,工业产值的增长率每年为c%,从键盘输入一个c(0<=c<=30),试求工业产值过多少年可实现翻番(即增加一倍)。 注: 后一年的产值是在前一年的基础上增长c%。 输入描述: 一个0~30的实数(增长率)。 输出描述描述: 实现翻番的年数。 样式输入: 6 样式输出: 12 10.题目描述 题目标题: 行李托运(彭纪良) 题目描述: 铁路托运行李规定: 行李重不超过50公斤的,托运费按每公斤0.15元计费;如超过50公斤,超过部分每公斤按0.25元计费。 请编程实现自动计费功能。 输入描述: 输入一个整数,表述要托运的行李的重量,单位为公斤 输出描述描述: 托运的行李重量(单位公斤)空格和运费(单位为元,保留2位小数)。 样式输入: 45 样式输出: 456.75 #include intmain() { floatn,sum; scanf("%f",&n); if(n<=50) sum=n*0.15; else sum=50*0.15+(n-50)*0.25; printf("%.f%.2f",n,sum); } 11.题目描述 题目标题: 分数比较(彭纪良) 题目描述: 请编程实现比较两个分数的大小。 (注: 进行分数的通分后再比较分子的大小) 输入描述: 输入两个分数,格式为分子/分母分子/分母,分子,分母均为整数。 输出描述描述: 输出比较后的结果。 如果等于,则输出分子/分母=分子/分母;如果小于分子/分母<分子/分母;如果大于,则输出分子/分母>分子/分母 样式输入: 1/21/3 样式输出: 1/2>1/3 #include intmain() { inta1,a2,b1,b2,t1,t2; scanf("%d/%d%d/%d",&a1,&a2,&b1,&b2); t1=a1*b2; t2=b1*a2; if(t1>t2) printf("%d/%d>%d/%d",a1,a2,b1,b2); elseif(t1 printf("%d/%d<%d/%d",a1,a2,b1,b2); else printf("%d/%d=%d/%d",a1,a2,b1,b2); } 12.题目描述 题目标题: 求人数(甘文) 题目描述: 定义一个函数,功能是计算n个学生的成绩中,高于平均成绩的人数,并作为函数值。 用主函数来调用它,统计50个学生成绩中,高于平均成绩的有多少人? 输入描述: 输入50个学生的成绩 输出描述描述: 输出一个整数表示高于平均成绩的人数 样式输入: 45464748495041525354 55565758596061626364 65666768697071727374 75767778798081828384 85868788899091929394 样式输出: 25 #include intTj(inta[][10]) { intcount=0,sum=0,i,j; for(i=0;i<5;i++) for(j=0;j<10;j++) sum+=a[i][j]; sum/=50; for(i=0;i<5;i++) { for(j=0;j<10;j++) { if(a[i][j]>sum) count++; } } returncount; } intmain() { inta[5][10],i,j; for(i=0;i<5;i++) for(j=0;j<10;j++) scanf("%d",&a[i][j]); printf("%d",Tj(a)); } 13.题目描述 题目标题: 3.2求圆的周长和面积 题目描述: 从键盘输入圆的半径,求该圆的周长和面积。 (注: 取3.14) 输入描述: 一个实数r。 输出描述描述: 圆的周长和面积。 样式输入: 1 样式输出: r=1.00,l=6.28,s=3.14 #include intmain() { floatr,l,s; scanf("%f",&r); l=2*r*3.14; s=r*r*3.14; printf("r=%.2f,l=%.2f,s=%.2f",r,l,s); } 14.题目描述 题目标题: 3.4确定一个数的位数 题目描述: 编写程序用来确定一个数的位数。 如: 输入: 567输出: Thenumber567has3digits假设输入的数最多不超过四位。 输入描述: 一个整数n。 输出描述描述: 按指定格式输出这个数的位数。 样式输入: 567 样式输出: Thenumber567has3digits #include #include intmain() { chara[4]; scanf("%s",a); intl=strlen(a); printf("Thenumber%shas%ddigits",a,l); } 15.题目描述 题目标题: 3.9阶乘累加 题目描述: 计算1! +2! +3! ……+n! 输入描述: 一个整数n(n<=10)。 输出描述描述: 1到n的阶乘累加之和。 样式输入: 5 样式输出: s=153 #include intmain() { inti,n,s=0,t=1; scanf("%d",&n); for(i=1;i<=n;i++) { t*=i; s+=t; } printf("s=%d",s); } 16.题目描述 题目标题: 3.10计算e的近似值 题目描述: 利用泰勒级数e=1+1/1! +1/2! +……+1/n! 计算e的近似值。 精度要求最后一项的绝对值小于f(如: f=1e-5)。 输入描述: 精度。 输出描述描述: e的近似值,保留6位小数。 样式输入: 1e-5 样式输出: e=2.718282 #include intmain() { doublei=1,n=1,f,sum=1;; scanf("%lf",&f); sum+=1/n; while((1/n)>=f) { i++; n*=i; sum+=(1/n); } printf("e=%.6lf",sum); } 17.题目描述 题目标题: 3.12求水仙花数 题目描述: 打印n(三位的整数)以内的所有水仙花数。 所谓水仙花数是指一个三位的整数,其各位数字的立方和等于该数本身。 例如: 153是水仙花数,因为153=1^3+5^3+3^3。 输入描述: 一个整数n。 输出描述描述: 符合条件的水仙花数。 样式输入: 400 样式输出: 153 370 371 #include intmain() { inti,n,a1,a2,a3; scanf("%d",&n); for(i=100;i<=n;i++) { a1=i%10; a2=i/10%10; a3=i/100; if(i==a1*a1*a1+a2*a2*a2+a3*a3*a3) printf("%d\n",i); } } 18.题目描述 题目标题: 3.17百马百担问题 题目描述: 百马百担问题: 有n1匹马,驮n2担货,大马驮3担,中马驮2担,两匹小马驮1担,问有多少种驮法? 注意: 每种马至少有1匹. 输入描述: 两个整数n1(马匹数)和n2(担货数)。 输出描述描述: 驮法数。 样式输入: 100100 样式输出: 6 #include intmain() { intn1,n2,count=0,i,j,k,a,b; scanf("%d%d",&n1,&n2); for(i=1;i<=n1-2;i++) { for(j=1;j<=n1-2;j++) { for(k=1;k<=n1-2;k++) { a=3*i+2*j+k; b=i+j+k; if(a==n2&&b<=n1) count++; } } } printf("%d",count); return0;//此题表意不明,且输出结果有问题,感觉不应为6; } 19. 函数求解1/n的累乘(谌海军) 题目描述: 利用自定义函数编写程序,求下面的式子: Y=1*1/2*1/3……*1/n(n的数值由键盘输入,n<=10) 输入描述: 输入一个正整数 输出描述描述: 输出为小数,保留小数点后12位有效数字。 样式输入: 3 样式输出: 0.166********7 #include intmain() { doublesum=1,i,n; scanf("%lf",&n); for(i=1;i<=n;i++) sum=sum*(1/i); printf("%.12lf",sum); } 20.题目描述 题目标题: 整数的分解(胡宁静) 题目描述: 将一个正整数分解质因数。 例如: 输入90,打印出90=2*3*3*5。 输入描述: 输入一个正整数。 输出描述描述: 等式左边输出整数,等式右边整数相乘形式。 样式输入: 90 样式输出: 90=2*3*3*5 21.题目描述 题目标题: 7-1合并整数 题目描述: 输入两个整数a,b,将他们合并成一个新的整数,合并方式是,将a的十位与个位放在c的千位与十位上,将b的十位与个位放在c的个位与百位上,用函数实现两个数的合并 输入描述: 两个整数ab 输出描述描述: 合成数c 样式输入: 4512 样式输出: 4251
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 编程 题库