实验二
Posted yyt20011109
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实验二相关的知识,希望对你有一定的参考价值。
ex2.1
#include <stdio.h> 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 ", y, z);//一致 printf("y=%d, z=%d ", y,z);//一致 printf("%8d,%2d ", x,x);//不一致,x前的字符宽度不一样 printf("%f, %8f, %8.1f, %0.2f, %.2e ",f,f,f,f,f);//第一个一致,后面不一致,字符宽度和精度不一样 printf("%lf ",m);//不一致 ,精度不一样 printf("%3c ", ch);//一致 printf("%s %15s %10.5s %2.5s %.3s ",a,a,a,a,a);//前两个一致,后三个不一致,后三个字符宽度太小了 return 0; }
ex2.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 ",a1,a2,a3); scanf("%c%c%c",&c1,&c2,&c3); printf("%c%c%c ",c1,c2,c3); scanf("%lf,%lf",&x,&y);//x为双精度型,应该是lf 而不是f printf("%lf,%lf ",x,y);//x为双精度型,应该是lf 而不是f return 0; }
ex2.3
#include <stdio.h> int main() { double a,b,c; scanf("%lf %lf %lf", &a, &b, &c); if(a<0 || b<0 || c<0) printf("不能构成三角形 "); else if(a+b>c && a+c>b && b+c>a) { if(a==b && a==c) printf("构成等边三角形 "); else if(a==b || a==c || b==c) printf("构成等腰三角形 "); else printf("构成一般三角形 "); }else printf("不能构成三角形 "); return 0; }
修改后的ex2.3
#include <stdio.h> int main() { double a,b,c; scanf("%lf %lf %lf", &a, &b, &c); if(a<0 || b<0 || c<0) printf("不能构成三角形 "); else if(a+b>c && a+c>b && b+c>a) if(a==b || a==c || b==c) { if (a==b && a==c) printf("构成等边三角形 "); else printf("构成等腰三角形 "); } else printf("构成一般三角形 "); else printf("不能构成三角形 "); return 0; }
输出结果变不变
ex2.4
#include <stdlib.h> int main() { char choice; // 显示菜单 printf("输入0~9以内的数字,选择屏幕背景色前景色方案: "); printf("1- 黑底绿色 "); printf("2- 白底黑色 "); printf("3- 蓝底白色 "); printf("其它- 黑底白色(默认) "); printf(" 请输入, 选择你想使用的屏幕配色方案: "); // 要求用户从键盘输入0~9的数字,选择屏幕配色方案 choice = getchar(); // 根据用户输入,设置屏幕配色方案 if (choice == ‘1‘) { system("color 02"); printf("《黑客帝国》一类的影视剧常见这种屏幕色:) "); } else if(choice == ‘2‘) { system("color f0"); printf("大部分编辑器默认是这种配色:) "); } else if(choice == ‘3‘) { system("color 1f"); printf("这是机器蓝屏故障时的不讨喜色:) "); } else { system("color 0f"); printf("控制台程序默认小黑窗:) "); } printf("programming is fun, just try@_@ "); return 0; }
ex2.4修改后
将原来的choice=getchar();gai改为scanf(“%d",&choice;即可
#include <stdio.h> #include <stdlib.h> int main() { int choice; // 显示菜单 printf("输入0~9以内的数字,选择屏幕背景色前景色方案: "); printf("1- 黑底绿色 "); printf("2- 白底黑色 "); printf("3- 蓝底白色 "); printf("其它- 黑底白色(默认) "); printf(" 请输入, 选择你想使用的屏幕配色方案: "); // 要求用户从键盘输入0~9的数字,选择屏幕配色方案 scanf("%d",&choice);//将原来的 choice = getchar();改为 scanf("%d",&choice); // 根据用户输入,设置屏幕配色方案 if (choice == 1) { system("color 02"); printf("《黑客帝国》一类的影视剧常见这种屏幕色:) "); } else if(choice == 2) { system("color f0"); printf("大部分编辑器默认是这种配色:) "); } else if(choice == 3) { system("color 1f"); printf("这是机器蓝屏故障时的不讨喜色:) "); } else { system("color 0f"); printf("控制台程序默认小黑窗:) "); } printf("programming is fun, just try@_@ "); return 0; }
运行结果不变
part3
ex2.5
#include<stdio.h> int main() { int a,b,c; printf("请输入一个三位以内的十进制数:"); scanf("%d",&a); b=a/10+(a%10)*10; c=a/100+(a/10-(a/100)*10)*10+((a%100)%10)*100; if(a>=0&&a<10) printf("%d正序和逆序相同",a); else if(a==b||a==c) printf("%d正序和逆序相同",a); else printf("%d正序和逆序不相同",a); return 0; }
ex2.6
#include<stdio.h> #include<stdlib.h> int main() { printf("输入年份 月份: "); int y,m,d,r; scanf("%d%d",&y,&m); if(y<=0||m<1||m>12) { printf("输入的数据错误! "); exit(0); } r=y%400==0||y%4==0&&y%100!=0; if(m==1||m==3||m==5||m==7||m==8||m==10||m==12) d=31; else if(m==4||m==6||m==9||m==11) d=30; else {d=28+r;} printf("%d年%d月的天数为:%d ",y,m,d); return 0; }
es2.7
#include<stdio.h> #include<stdlib.h> int main() { printf("输入分数(0~100):"); int score; scanf("%d",&score); if(score<0||score>100) { printf("输入错误 "); exit(0); } switch(score/10) { case 10: case 9:printf("优秀 ");break; case 8:printf("良好 ");break; case 7:printf("中等 ");break; case 6:printf("及格 ");break; default:printf("不及格 ");break; } return 0; }
以上是关于实验二的主要内容,如果未能解决你的问题,请参考以下文章