第二次作业
1.判断成绩等级。
给定一百分制成绩,要求输出成绩的等级。90以上为A,80-89为B,70-79为C,60-69为D,60分以下为E,输入大于100或小于0时输出“输入数据错误”。 分别用if和用switch语句实现
(1)if语句
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #include <stdio.h> int main () { int grade; printf( "输入分数" ); scanf( "%d" ,&grade); if (grade<0||grade>100) {printf( "数据错误" );} else if (grade>=90&&grade<100) {printf( "A" );} else if (grade>=80&&grade<90) {printf( "B" );} else if (grade>=70&&grade<80) {printf( "C" );} else if (grade>=60&&grade<70) {printf( "D" );} else {printf( "E" );} return 0; } |
实验总结:注意if else的配套使用。
(2)switch 语句
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #include <stdio.h> int main () { int grade; printf( "输入成绩" ); scanf( "%d" ,&grade); if (grade<0||grade>100) {printf( "error" );} else switch (grade/10) { case 10: case 9: printf( "A\n" ); break ; case 8: printf( "B\n" ); break ; case 7: printf( "C\n" ); break ; case 6: printf( "D\n" ); break ; default : printf( "E\n" ); } return 0; } |
实验总结:注意case和:和default的使用规范。
2.判断整数位数及逆序输出。
输入一个不多于5位数的正整数,判断它是几位数并逆序输出。注意验证数据的合法性。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | #include <stdio.h> int main () { int a,b,c,d,e,g; printf( "输入一个不多于5位的正整数" ); scanf( "%d" ,&a); if (a<0||a>100000) {printf( "error" );} else if (a>0&&a<10) {printf( "1位数" );} else if (a>=10&&a<100) {printf( "2位数" ); b=a/10; c=a%10; a=c*10+b; printf( "%02d" ,a);} else if (a>100&&a<1000) {printf( "3位数" ); b=a/100; c=a%100/10; d=a%10; a=d*100+c*10+b; printf( "%03d" ,a);} else if (a> 000&&a<10000) {printf( "4位数" ); b=a/1000; c=a%1000/100; d=a%100/10; e=a%10; a=e*1000+d*100+c*10+d; printf( "%04d" ,a);} else {printf( "5位数" ); b=a/10000; c=a%10000/1000; d=a%1000/100; e=a%100/10; g=a%10; a=g*10000+e*1000+d*100+c*10+b; printf( "%05d" ,a);} return 0; } |
实验总结:注意{}的使用范围。
3. 回文数问题
给定一个5位数,判断它是否是回文数。例如:12321是回文数。回文数的特点是个位和万位相同,十位和千位相同。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #include <stdio.h> int main() { int a,b,c,d,e,f; printf( "输入一个5位数" ); scanf( "%d" ,&a); b=a/10000; c=a%10000/1000; d=a%1000/100; e=a%100/10; f=a%10; if (b==f&&c==e) {printf( "该数为回文数" );} else {printf( "该数不是回文数" );} return 0; } |
4.实验总结:注意%和除号,赋值与相等的使用。
实验要求:
y=-x+2.5 0 <= x < 5
y=2-1.5(x-3)(x-3) 5 <= x < 10
y=x/2-1.5 10 <= x < 20
输入x的值(x为整数),输出y的值,结果保留3位小数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #include <stdio.h> int main() { float x,y; printf( "输入x的值" ); scanf( "%f" ,&x); if (x>=0&&x<5) {y=-x+2.5; printf( "y=%.3f" ,y);} else if (x>=5&&x<10) {y=2-1.5*(x-3)*(x-3); printf( "y=%.3f" ,y);} else if (x>=10&&x<20) {y=x/2-1.5; printf( "y=%.3f" ,y);} else {printf( "error" );} return 0; } |
实验总结:注意%.3f的使用,循环的使用。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 现代计算机视觉入门之:什么是视频
· 你所不知道的 C/C++ 宏知识
· 聊一聊 操作系统蓝屏 c0000102 的故障分析
· SQL Server 内存占用高分析
· .NET Core GC计划阶段(plan_phase)底层原理浅谈
· 盘点!HelloGitHub 年度热门开源项目
· 某Websocket反爬逆向分析+请求加解密+还原html
· 02现代计算机视觉入门之:什么是视频
· 回顾我的软件开发经历:我与代码生成器的涅槃之路
· DeepSeek V3 两周使用总结