part1.格式化输入函数scanf()和格式化输出printf()
实验一
#includeint main() { int x=2345; float f=123.456; double m=123.456; char ch ='a'; char a[]="hellow,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) ; printf("%f,%8f,%8.1f,%.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); //因为xy均为duoble类型数据,所以用scanf函数输入时应该使用%lf printf("%f,%lf\n",x,y); return 0; }
图片示例
part2.
实验一
#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&&b+c>a&&a+c>b){ 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&&b+c>a&&a+c>b){ if (a==b||a==c||b==c){ if(a==b&&a==c) printf("构成等边三角形\n"); else printf("构成等腰三角形\n"); } else printf("构成一般三角形\n"); } else printf("不能构成三角形\n"); return 0; }
图片示例
实验二
#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请输入,选择你想使用的屏幕配色方案\n"); 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; }
图片示例
我认为该代码中应该添加一个if语句来判断用户所输入的值是否在0~9以内,图5的出现可能是因为getchar()函数只能读取一个字符所以导致此时的choice=1导致该现象
将char choice;改为 int choice;
#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请输入,选择你想使用的屏幕配色方案\n"); scanf("%d",&choice); if(choice<1||choice>9 ) printf("请输入0~9以内的数字\n"); else 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;
图片示例
part3
实验一
#includeint main() {int a,b,c,d,e,f; printf("请输入一个三位十进制数\n"); scanf("%d",&a); printf("判断该数的正序与逆序是否相等……\n"); b=a/100; c=a%10; e=a/10; f=a%10; if (-1000>a||a>1000) printf("请输入一个三位十进制数"); else {if(-1010) printf("%d的正序与逆序相等\n",a); else if(-100100) { if(e==f) printf("%d的正序与逆序相等\n",a); else printf("%d的正序与逆序不相等\n",a); } else if(-10001000) { if(b==c) printf("%d的正序与逆序相等\n",a); else printf("%d的正序与逆序不相等\n",a); } } return 0; }
图片示例
实验二
#includeint main() {int year,month,d1,d2,d3,d4; d1=28; d2=29; d3=30; d4=31; printf("请输入年份 月份\n"); scanf("%d%d",&year,&month); if(year<0||month<1||month>12) printf("请输入正确的年份月份"); else if(year%4==0&&year%100!=0||year%400==0) {if (month==2) printf("%d年%d月有%d天\n",year,month,d2); else if(month==1||month==3||month==5||month==7||month==8||month==11) printf("%d年%d月有%d天\n",year,month,d4); else printf("%d年%d月有%d天\n",year,month,d3); } else {if(month==2) printf("%d年%d月有%d天\n",year,month,d1); else if(month==1||month==3||month==5||month==7||month==8||month==11) printf("%d年%d月有%d天\n",year,month,d4); else printf("%d年%d月有%d天\n",year,month,d3); } return 0;}
图片示例
实验三
#includeint main() {unsigned int f; printf("请输入分数(0~100):"); scanf("%d",&f); switch(f/10) {case 10: case 9:printf("你很优秀\n");break; case 8:printf("良好,你离优秀就差一步了\n");break; case 7:printf("中等,继续努力呀\n");break; case 6:printf("恭喜及格!!\n");break; case 5: case 4: case 3: case 2: case 1: case 0: printf("不及格,加油!!!");break; default :printf("请输入正确的分数!\n"); } return 0; }
图片示例