武汉纺织大学 48学时 C语言编程题复习
更新时间:2023-09-09 20:19:01 阅读量: 教育文库 文档下载
- 武汉纺织大学推荐度:
- 相关推荐
编程题复习
选择结构
1.使用if形式编写程序:若a>b将两个数的位置调换;
年组 55岁以上的分老年组。排除不可能 7.编写程序,求二元一次方程ax2+bx+c=0
的岁数。 的根 #include”stdio.h” void main() { int age;
printf(“请输入年龄(0<=年龄<=150):”);
#include”stdio.h” #include”math.h” void main() { int a,b,c;
否则,保持不变。 scanf( “ %d ” ,&age);
#include”stdio.h” if(age>0&&age<=150) float x1,x2; void main() { if(age<18)
printf(“请输入一元二次方程的三个系数a、
{ int a,b,temp; printf( “ 参加儿童组 \\n ”); b 、 c:\\n ”); printf(“请输入两个整数:”); else if(age<45) scanf(“%d%d%d”,&a,&b,&c); scanf(“%d%d”,&a,&b); if(a>b) { temp=a; a=b; b=temp; if(c>a&&c>b)
printf(“%d,%d\\n”,a,b); }
2.用if形式求3个数中的最大数。 #include”stdio.h” void main() { int a,b,c;
printf(“请输入三个整数:”); scanf(“%d%d%d”,&a,&b,&c); if(a>b&&a>c) printf(“%d最大\\n”,a); if(b>a&&b>c) printf(“%d最大\\n”,b); printf(“%d最大\\n”,c); }
3.将输入的字符的大写字符转换成小写字符
输出,小写字符原样输出 #include”stdio.h” 岁到45岁之间分在青年组,45岁到55岁之间分在中
void main() { int c; c=getchar(); if(c>=?A?&&c<=?Z?) putchar(c+32); putchar(c); } 4.编写程序,输入报名者的岁数,小于18岁分儿童组.18
岁到45岁之间分在青年组,45岁到55岁之间分在中
printf( “ 参加青年组 \\n ” ); else if(age<55) printf( “ 参加中年组 \\n ” ); else printf(“ 参加老年组 \\ n”);
} else printf(“数据错误!\\n)
} 5.根据输入字符( 0到F,用%c接收)显示与该字符所表示的 十六 进制数相对
应的十进制数。(例如输入A,输出10; 输入0,输出0。) #include”stdio.h” void main() printf(“请输入0~F:”);
scanf(“%c”,&i);
。 switch(i) { case
?0?:case?1?:case?2?:
case
?3?:case?4?:case?5?:
case ?6 ? :case ? 7 ?: case ?8?:case?9?:printf(“%d\\n”,i-?0?);break; case
?A ? :case ? a ?:printf( “ %d\\n ”,10);break; case
? B ? :case ? b ?:printf( “ %d\\n ” ,10);break; case
? C ? :case ?c ? :printf( “ %d\\n ”,10);break; case ? D ? :case ? d ?:printf( “ %d\\n ” ,10);break; case ? E ? :case ?e ? :printf( “%d\\n”,10);break; case ?F?:case?f?:printf(“%d\\n”,10);break; default:printf(“输入有误!”); }
} 1 / 8
if(b*b-4.0*a*c>=0)
{ x1=(-b+sqrt(b*b-4.0*a*c))/(2.0*a); x2=(-b-sqrt(b*b-4.0*a*c))/(2.0*a);
printf(“方程的根是x1=%f\\tx2=%f\\n”,x1,x2);
} else printf(“方程无根!\\n”); }
6.编写程序,从键盘接受一个简单的表示四则运算的表达式,
计算结果并输出。例如,输入“ 20+32”,
输出“ =52 ” 。 要求用 switch 语句和 else if形式编写程序。
用 switch 实现 #include ” stdio.h ”
void main() {
int a,b;
char c; printf(“请输入一个四则运算表达式(例如20+32):\\n”);
scanf(“%d%c%d”,&a,&c,&b); switch(c)
{
case
?+?:printf(“%d+%d=%d\\n”,a,b,a+b);break; case
?-?:printf(“%d-%d=%d\\n”,a,b,a-b);break; case
?*?:printf(“%d*%d=%d\\n”,a,b,a*b);break; case ?/?:printf(“%d/%d=%d\\n”,a,b,a/b);break; default:printf(“输入有误!\\n”); } }
用else if 实现
#include ” stdio.h ”
void main { int a,b; char c;
printf(“请输入一个四则运算表达式(例如20+32):\\n”);
scanf(“%d%c%d”,&a,&c,&b); if(c==?+?)
printf(“%d+%d=%d\\n”,a,b,a+b); else if(c==?-?)
printf(“%d-%d=%d\\n”,a,b,a-b); else if(c==?*?)
printf(“%d*%d=%d\\n”,a,b,a*b); else if(c==?/?)
printf(“%d/%d=%d\\n”,a,b,a/b); else
printf(“输入有误!\\n”); }
8.从键盘接受一个字符,输出该字符字典排列顺序的下一个字符,
例如,输入a,输出b。如果输入的字符不在26个英语字母中,
则显示输入数据有误,如果输入的字符是z或Z,则输出a或A。 #include”stdio.h” void main { char c;
printf(“请输入一个英文字母:”); c=getchar(); if(c>=?a?&&c<=?z?) {
printf(“%c--%c\\n”,c,(c-?a?+1)&+?a?); }
if(c>=?A?&&c<=?Z?) {
printf(“%c--%c\\n”,c,(c-?A?+1)&+?A?); } else
printf(“输入数据有误!\\n”); }
9编写程序,根据输入的百分制分数,按五分制的成绩输出。
把百分制改成5分制 /* 使用else if */ #include
printf(\请输入百分制成绩(0~100):
\\n\ scanf(\ if(score>=90)
printf(\百分制成绩%d转换成五分制成绩是5\\n\ else if(score>=80)
printf(\百分制成绩%d转换成五分
制成绩是4\\n\ else if(score>=60)
printf(\百分制成绩%d转换成五分
制成绩是3\\n\ else
printf(\百分制成绩%d转换成五分
制成绩是2\\n\}
/* 使用switch */ #include
printf(\请输入百分制成绩(0~100):\\n\
scanf(\k=score/10; switch(k) {
case 10:case 9:printf(\百分制成绩%d转换成五分制成绩是5\\n\case 8:printf(\百分制成绩%d转换成五分制成绩是4\\n\
case 7:case 6:printf(\百分制成绩%d转换成五分制成绩是3\\n\case 5:case 4:case 3:case 2:case 1:case 0: printf(\百分制成绩%d转换成五分制成绩是2\\n\}
}
循环结构
1、输入一行字符,分别统计其中英文字母、
2 / 8
空格、数字和其他字符的个数 #include
main()
{
char a;
int b,c,d,e;
b=0;c=0;d=0;e=0;
fflush(stdin);
printf(\请输入一串东西:\
while ((a=getchar())!='\\n')
{
if(a>='a'&&a<='z'||a>='A'&&a<='Z')
b++;
else if(a>='0'&&a<='9')
c++;
else if(a==' ')
e++;
else
d++;
}
printf(\字母%d个\\n\
printf(\数字%d个\\n\
printf(\空格%d个\\n\
printf(\符号%d个\\n\
} 2输入两个正整数a 和 b,求其最大公约数和最小公倍数 (提示:设x 和 y 的较小值为gcd,则最大公约数的范围在gcd到1之间, 用while循环完成) #include”stdio.h” int yue (int a,int b) { int r,m; r=a%b; while(r!=0) { a=b; b=r; r=a%b; } m=b; return m; }
int bei(int a,int b,int m) { int t; t=(a*b)/m; return t; }
void main() { int a,b,m,t;
printf(“请输入两个正整数:”); scanf(“%d%d”,&a,&b); m=yue(a,b);
printf(“最大公约数=%d\\n”,m); t=bei(a,b,m);
printf(“最小公倍数=%d\\n”,t); } 3.
编
写
程
序
求
1?111(?1)n?12?3?4?????n的
值并输出。
结束条件为
1?10?5n
#include \ #include \ void main()
{ float a,b,h,x,sum;
int flag; long i;
for
(i=1,sum=0,flag=1;fabs(1.0/i)>=1.E-5;i++)
{ sum=sum+flag*1.0/i; flag=-flag;
}
printf(\计算结果是:%f\ }
4.编写程序,输入一个正整数,计算并显示该整数的各位数字之和。
例如,整型数1987的各位数字之和是
1+9+8+7,等于25. #include
printf(\请输入一个正整数:\ scanf(\ sum=0; while(i!=0) { k=i; sum=sum+k; i=i/10;
}
printf(\
}
5.计算歌手得分:去掉一个最高分,去掉一
3 / 8
个最低分,
取剩余成绩的平均分。编写程序输入一个歌手的若干
成绩,以-1作为输入结束标记,计算歌手的最后得分。 #include
{ int x,min,max,n=0,sum=0;
printf(\请输入若干歌手的成绩,以-1作为输入结束标记\\n\scanf(\max=min=x; while(x!=-1)
{ if(min>x)
min=x; if(max scanf(\ } if(n==0) printf(\错误!用户没有输入成绩!\\n\else if(n>2) printf(\去掉一个最高分%d、去掉一个最低分%d,歌手的最后得分是:%d\\n\else printf(\输入成绩个数小于3,歌手的最后得分是:%d\\n\ } 6.输出所有的水仙花数。水仙花数是一个3位正整数, 它的三个数字的立方和等于该数本身。例 如:153 = 13 + 53 +33 #include if(i*100+j*10+k==i*i*i+j*j*j+k*k*k) printf(\ n++; } } 7.编写程序列出斐波那契(Fibonacci)数列的前20项。 斐波那契数列源自一个有趣的问题:一对小兔,一个月后长成中兔 ,第三个月长成大兔,长成大兔以后每个月生一对小兔。第20个月有多少对兔子? #include \ void main() { int a,b,j,f; a=1;b=1; printf(\ for( j=3;j<=20; j++) { f=a+b; a=b; b=f; printf(\ if (j%5==0) printf(\ } } 8.编写程序求a+aa+aaa+....其中a是一个数字。例如:3+33+333+3333+33333 (此时n为5)。要求a和n从键盘输入,输 出格式:3+33+333+3333+33333=37035 #include printf(\输入a和n的值:\ scanf(\ sum=a; x=a; printf(\ for(i=2;i<=n;i++) { x=x*10+a; printf(\ sum+=x; } printf(\ } 9.假设数列中的每一项都比前一项大一个常量。假设第一项为a, 并且两个相邻项之间的差为d。编写程序提示输入数列的前两项, 以及需要计算的项数k。利用循环语句输出数列的前k项, 并计算前k项的和。 #include { int a1,a2,d,k,i,sum; 4 / 8 printf(\请输入数列的前两项:\ scanf(\ printf(\请输入需要计算的项数:\ scanf(\ d=a2-a1; sum=a1; printf(\ 项数列分别是: \\n%d\\t\ for(i=2;i<=k;i++) { a2=a1+d; printf(\ sum=sum+a2; a1=a2; } printf(\ 前 %d 项 的 和 是:%d\\n\ } 10. 编写程序输出下列图形: 1 22 333 4444 55555 666666 7777777 88888888 999999999 #include \ void main() { int i,j; for (i=1;i<=9;i++) { for (j=1;j<=10-i;j++) printf(\ for (j=1;j<=i;j++) printf(\ printf(\ } } 11.若口袋里放12个球,3个红的,3个白的,6个黑的, 从中任取8个,编写程序列出所有可能的取法。 #include \ void main() { ,大班每人2个,中班每人3个,小班每人4个, 正好分掉100个。编写程序求幼儿园共有多少个小朋友。 #include { int t,r; if(v>u) { t=u;u=v;v=t;} while((r=u%v)!=0) { u=v;v=r; } int red,white,black; { int x,y,z; for (red=0;red<=3;red++) for (white=0;white<=3;white++) for (black=0;black<=6;black++) if (red+white+black==8) printf(\%d,white %d,black %d\red,white,black); } 12.请为“百鸡问题”编写程序。百鸡问题:“鸡翁一,值钱五;鸡母一, 值钱三;鸡雏三,值钱一。百钱买百鸡,问鸡翁,母,雏各几只”。 #include printf(\百钱买白鸡,鸡翁%d个、鸡母%d个,鸡雏%d个\\n\} } 13.幼儿园有大,中,小3个班的小朋友。分西瓜时,大班3人1个, 中班4人1个,小班5人1个,正好分掉10个;分苹果时 for(x=1;x<50;x++) for(y=1;y<40;y++) for(z=1;z<50;z++) if(20*x+15*y+12*z==600&&2*x+3*y+4*z= =100) printf(\大班%d人,中班%d人,小班%d人,幼儿园共有%d个小朋友\\n\} 14.求3到100之间的所有素数。 #include \ void main() { int i,j; for (i=3;i<=100;i++) { for (j=2;j<=i-1;j++) if (i%j==0) break; if (i==j) printf(\ } printf(\ } 模块化程序设计 1.定义两个函数分别求两个整数的最大公约数和最小公倍数, 并在主函数中输入两个整数以后调用该函数。编写主函数调用该函数。 int hcf(int u,int v) 5 / 8 return(v); } int lcd(int u,int v,int h) { return(u*v/h); } #include int u,v,h,l; printf(\输入两个正整数按照格式a,b:\scanf(\ h=hcf(u,v); printf(\ 最大公约数 =%d\\n\ l=lcd(u,v,h); printf(\ 最小公倍数 =%d\\n\ } 2.函数间的参数传递。 #include \ void fail_swap(int a,int b); void main() { int i,j; i=2;j=4; printf(\call i=%d,j=%d\\n\ fail_swap (i,j); printf(\ } void fail_swap(int x,int y)
正在阅读:
武汉纺织大学 48学时 C语言编程题复习09-09
2018年中国(CNG)压缩天然气汽车与加气站市场前景趋势研究报告目录11-10
浅谈新闻故事化03-16
第10课_美国独立战争09-04
儿科护理学题库汇总03-16
青少儿口才考级系列教材 - 图文11-03
如何创业才能成功03-16
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 语言编程
- 学时
- 武汉
- 复习
- 纺织
- 大学
- 苏尔寿片梭织机工作原理解析
- 江苏师姓分布与支脉 - 图文
- 山东省道路交通事故责任确定规则(试行) - --过错行为形态特征分类表
- 道路排水关键部位处理方案
- XX婚礼策划方案及流程
- ansys错误提示汇总
- 潍坊中小学骨干班主任培训心得体会
- 关于迁移热电二厂利用原厂址及周边地段打造
- 五年级品社下册第二单元检测
- 视觉传达设计调研报告 - 图文
- 挪威船舶买卖格式-Nowegain Saleform1993-魏长庚船长
- 创意阅读第二册参考答案1
- 国家税务局2016年4月份业务考试试卷讲解
- 江西省名校2016届高三第三次联合考试历史试题
- 29.2三视图 说课稿
- 寄生虫题目及答案
- 河北省危险性较大建设工程安全专项施工方案论证审查专家库
- 识字6
- 银企对接会发言材料
- 小班彩泥蘑菇教案