#include<stdio.h> int main() { int x=1234; float f=123.456; double m=123.456; char ch='a'; char 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); printf("%f,%8f,%8.1f,%.2f,%.2e\n",f,f,f,f,f); printf("%1f\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; }
第四行第一个因为十进制与二进制之间转换发生错误,第2个是因为输出函数中用了限制输出数据域宽的修饰符8,”123“为1位,“."为1位,”456“为3位,所以“123.456001”前面有2个空格;第3个是因为修饰符.1代表小数点后保留一位,四舍五入取5,同时输出函数中用了限制输出数据域宽的修饰符8,所以前面有空格;第4个是因为修饰符.2表示小数点后保留两位,四舍五入;第5个是因为.2e表示以指数形式输出,且四舍五入保留2位(不会,所以看了一下别人答的,很容易理解)
#include <stdio.h> int 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; }
#include<stdio.h> int 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<stdio.h> int 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; }
替换代码后,仍能运行成功
#include<stdio.h> #include<stdlib.h> 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; }
#include<stdio.h> #include<stdlib.h> int main(){ char int; // 显示菜单 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; }
#include<stdio.h> int main() { int a,b,c; printf("请输入一个三位数以内的十进制整数:\n计算其逆序数..."); scanf("%d",&a); b=a/10+a%10*10; c=a/100+((a/10)%10)*10+(a%10)*100; if(a<1||a>999) printf("重新输入"); else if(a>=1&&a<10) printf("%d正序与逆序相同",a); else if(a<=99&&a>=10){ if(a==b) printf("%d正序与逆序相同",a); else printf("%d正序与逆序不同",a); } else if(a>=100&&a<=999){ if(a==c) printf("%d正序与逆序相同",a); else printf("%d正序与逆序不同",a); } return 0; }
#include<stdio.h> int main(){ int year,mounth,days; printf("输入年份,月份\n"); scanf("%d,%d",&year,&mounth); if(mounth%2!=0||mounth==8){ days=31; } else{ if(mounth==2){ if((year%4==0)&&(year%100!=0)||(year%400==0)) days=29; else days=28; } else days=30; } printf("该月份共有:%d天",days); return 0; }
#include <stdio.h> #include <stdlib.h> int main() { printf("输入分数(0~100)\n"); int x; scanf("%d",&x); if (x<0||x>100) { printf("分数不在有效区间内\n"); exit(0); } switch(x/10) { default:printf("不及格\n");break; case 6:printf("及格\n");break; case 7:printf("中等\n");break; case 8:printf("良好\n");break; case 9:printf("优秀\n");break; } return 0; }
实验总结:
自己编写代码时很多算法不够准确和简洁,对于课上老师讲的一些内容没有真正理解