part1
/* 《C语言程序设计教程学习指导》p118 实验内容(1) 这是一个常用格式控制符使用示例 运行程序,观察行结果,对照每一行printf()中的格式控制符,理解其功能和用法 */ #includeint 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);//不一致,两个字符宽度不一样,分别为8和2 printf("%f, %8f, %8.1f, %0.2f, %.2e\n",f,f,f,f,f);//不一致,前三个规定了字符宽度,最后一个规定为指数形式 printf("%lf\n",m);//一致 printf("%3c\n", ch);//一致 printf("%s\n%15s\n%10.5s\n%2.5s\n%.3s\n",a,a,a,a,a);//前两个一致,后三个不一致 return 0; }
#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);//x应该为双精度型
printf("%lf,%lf\n",x,y); 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) printf("构成等边三角形\n"); else if(a==b || a==c || b==c) printf("构成等腰三角形\n"); else printf("构成一般三角形\n"); } else printf("不能构成三角形\n"); return 0; }
#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; }
prat3
#includeint main(){ printf("请输入一个三位以内的十进制整数:"); int x,y; scanf("%d",&x); printf("计算其逆序数\n"); if(x>=0&&x<=9) { y=x; printf("%d",y); printf("正序和逆序相同"); } else if(x>=10&&x<=99) { y=(x/10)%10+x%10*10; printf("%d",y); if(x==y) printf("正序和逆序相同"); else printf ("正序和逆序不同"); } else if(x>=100&&x<=999) { y=(x/10)%10*10+(x/100)%10+(x%10)*100; printf("%d",y); if(x==y) printf("正序和逆序相同"); else printf("正序和逆序不同"); } else if(x<=0||x>=1000) printf("不满足要求"); return 0; }
#include#include int main(){ int year,month,day,leapyear; scanf("%d %d",&year,&month); if(year<0||month<1||month>12){ printf("输入的数据错误!\n"); exit(0); } leapyear=year%4==0&&year%100!=0||year%400==0; if(month==1||month==3||month==5||month==7||month==8||month==10||month==12){ day=31; printf("%d年%d月的天数为: %d\n",year,month,day); } else if(month==4||month==6||month==9||month==11){ day=30; printf("%d年%d月的天数为: %d\n",year,month,day); } else if(month==2){ day=28+leapyear; printf("%d年%d月的天数为: %d\n",year,month,day); } return 0; }
#include#include int main(){ int score; printf("输入学生成绩:"); scanf("%d",&score); if(score<0||score>100){ printf("输入数据有误\n"); exit(0) ; } switch(score/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("不及格\n");break; } return 0; }
实验总结:要注意if,switch等语句的使用,注意scanf要搭配地址符同时出现,要弄清字符宽度与数据类型,要学会复杂逻辑