实验二作业
PART 1
1.运行结果不一致

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; }

原因1.缺少地址码
2.双精度要用%lf
PART 2
#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"); } else printf("不能构成三角形\n"); return 0; }





2.
#include <stdio.h> #include <stdlib.h> 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的数字,选择屏幕配色方案 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; }




3.
#include <stdio.h> int main() { int a,b,c; printf("请输入一个三位以内的十进制整数: "); scanf("%d",&a); b=a/10+a%10*10; c=a/100+a%100/10*10+a%100%10*100; printf("计算其逆序数...\n"); if(0<=a&&a<=999) { if(a>100&&a<=999&&a==c) printf("%d正序和逆序相同",a); else if(a>10&&a<100&&a==b) printf("%d正序和逆序相同",a); else if(0<a&&a<10) printf("%d正序和逆序相同",a); else printf("%d正序和逆序不同",a); } else printf("输入错误\n"); return 0; }




#include<stdio.h> #include<stdlib.h> int main() { int year,month,day,leapyear; printf("输入年份 月份\n"); 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) printf("%d年%d月的天数为:%d",year,month,day=31); else if(month==4||month==6||month==9||month==11) printf("%d年%d月的天数为:%d",year,month,day=30); else if(month==2||leapyear==0) printf("%d年%d月的天数为:%d",year,month,day=28); else if(month==2||leapyear!=0) printf("%d年%d月的天数为:%d",year,month,day=29); return 0; }

#include<stdio.h> #include<stdlib.h> int main() { int score; 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; }




实验总结:part1部分
第一个实验有的地方仍为搞懂,只能找出部分,并未能完全解决问题
part3部分
在开始时对if else的使用以及括号是写在里面还是写在外面并不是很熟练
在编写正序和逆序那个程序时,不知道为什么先从0-10讨论总是写不出来,此外某一项的else语句总提示前无if不好运行不知为何。
还有就是有些语句是在输入数据运行之前就应该显示的,经常会在编写的时候忘记顺序。

浙公网安备 33010602011771号