#include#include int main(){ printf("输入分数(0~100):"); int a; scanf("%d",&a); if(a<0||a>100) {printf("输入数据错误\n"); exit(0); } switch(a/10) {case10:printf("优秀/n");break; case9:printf("优秀/n");break; case8:printf("良好/n");break; case7:printf("中等/n");break; case6:printf("及格/n");break; default:printf("不及格");break; } return 0; }
实验结论
ex2_1
int main() { int x=1234; float f=123.456; double m=123.456; char ch='a'; char a[]="Hello, world!"; // 定义一个数组a,数组中连续存放了字符串常量hello,world! int y=3, z=4; printf("%d %d\n", y, z);//一致 printf("y=%d, z=%d\n", y,z);// 一致 printf("%8d,%2d\n", x,x);//不一致,由于m是输出数据的域宽,数据长度printf("%f, %8f, %8.1f, %0.2f, %.2e\n",f,f,f,f,f);//不一致,由于m是输出数据的域宽,数据长度 printf("%lf\n",m); printf("%3c\n", ch);//%c为字符输出,%s为字符串输出 printf("%s\n%15s\n%10.5s\n%2.5s\n%.3s\n",a,a,a,a,a); return 0; }
ex2_2
错误一:scanf 函数后缺少地址符 &
错误二:由于定义x y 为double 类型,所以输入输出须为 lf
#includeint main() { double x,y; char c1,c2,c3; int a1,a2,a3; scanf("%d%d%d",&a1,&a2,&a3); printf("%d,%d,%d\n",a1,a2,a3); scanf("%c%c%c",&c1,&c2,&c3); printf("%c%c%c\n",c1,c2,c3); scanf("%lf,%lf",&x,&y); printf("%lf,%lf\n",x,y); return 0; }
ex2_3
#includeint main() { double a,b,c; scanf("%lf %lf %lf", &a, &b, &c); if(a<0 || b<0 || c<0) printf("不能构成三角形\n"); else if(a+b>c && a+c>b && b+c>a) { if(a==b && a==c) printf("构成等边三角形\n"); else if(a==b || a==c || b==c) printf("构成等腰三角形\n"); else printf("构成一般三角形\n"); } else printf("不能构成三角形\n"); return 0; }
#includeint main() { double a,b,c; scanf("%lf %lf %lf", &a, &b, &c); if(a<0 || b<0 || c<0) printf("不能构成三角形\n"); else if(a+b>c && a+c>b && b+c>a) { if(a==b||a==c||b==c) if(a==b&&a==c) printf("构成等边三角形\n"); else printf("构成等腰三角形\n"); } else printf("构成一般三角形\n"); return 0; }
结论:替换代码后仍然成立
ex2_4
#include#include int main() { char choice; // 显示菜单 printf("输入0~9以内的数字,选择屏幕背景色前景色方案: \n"); printf("1-\t黑底绿色\n"); printf("2-\t白底黑色\n"); printf("3-\t蓝底白色\n"); printf("其它-\t黑底白色(默认)\n"); printf("\n请输入, 选择你想使用的屏幕配色方案: "); // 要求用户从键盘输入0~9的数字,选择屏幕配色方案 choice = getchar(); // 根据用户输入,设置屏幕配色方案 if (choice == '1') { system("color 02"); printf("《黑客帝国》一类的影视剧常见这种屏幕色:)\n"); } else if(choice == '2') { system("color f0"); printf("大部分编辑器默认是这种配色:)\n"); } else if(choice == '3') { system("color 1f"); printf("这是机器蓝屏故障时的不讨喜色:)\n"); } else { system("color 0f"); printf("控制台程序默认小黑窗:)\n"); } printf("programming is fun, just try@_@\n"); return 0; }
choice 换成 int 后的代码
#include#include int main() { int choice; // 显示菜单 printf("输入0~9以内的数字,选择屏幕背景色前景色方案: \n"); printf("1-\t黑底绿色\n"); printf("2-\t白底黑色\n"); printf("3-\t蓝底白色\n"); printf("其它-\t黑底白色(默认)\n"); printf("\n请输入, 选择你想使用的屏幕配色方案: "); // 要求用户从键盘输入0~9的数字,选择屏幕配色方案 scanf ("%d",&choice); // 根据用户输入,设置屏幕配色方案 if (choice == 1) { system("color 02"); printf("《黑客帝国》一类的影视剧常见这种屏幕色:)\n"); } else if(choice == 2) { system("color f0"); printf("大部分编辑器默认是这种配色:)\n"); } else if(choice == 3) { system("color 1f"); printf("这是机器蓝屏故障时的不讨喜色:)\n"); } else { system("color 0f"); printf("控制台程序默认小黑窗:)\n"); } printf("programming is fun, just try@_@\n"); return 0; }
(结果不再一一展示)
part 3(编码)
#includeint main() { int a,b,c,d,e,f; printf("请输入一个三位以内的十进制整数:"); scanf("%d",&a) ; if (a>99&&a<1000) { b=a%10; c=a/10; d=c%10; e=c/10; f=100*b+ 10*d+e; } else if (a>9&&a<100) { b=a%10; c=a/10; d=c%10; e=c/10; f=(100*b+ 10*d+e)/10; } else if (a>0&&a<10) { b=a%10; c=a/10; d=c%10; e=c/10; f=(100*b+ 10*d+e)/100; } if (a!=f) printf("不同") ; else if (a==f) printf("相同"); return 0; }
#includeint main(){ int a,b; printf("输入年份 月份"); scanf("%d%d", &a,&b); if(a%4==0&&a%100!=0||a%400==0&&b==2) printf("%d年%d月是28天",a,b); else if(a%4!=0&&b==2) printf("%d年%d月是29天",a,b); else if(b==1,3,5,7,8,10,12) printf("%d年%d月是31天",a,b); else if(b==4,6,9,11) printf("%d年%d月是30天",a,b); return 0; }
#include#include int main(){ printf("输入分数(0~100):"); int a; scanf("%d",&a); if(a<0||a>100) {printf("输入数据错误\n"); exit(0); } switch(a/10) { case 10: case 9:printf("优秀\n");break; case 8:printf("良好\n");break; case 7:printf("中等\n");break; case 6:printf("及格\n");break; default:printf("不及格");break; } return 0; }
总结与体会
体会:熟悉各种符号,注意地址符,以及字符时需要的单引号
我觉得if虽然有时可以省略{,但是对我个人来说还是都写,容易看清代码
注意break是跳出switch 那整个的