实验2
task1
问题1:随机生成5个给定范围内的学院编号
问题2:生成1个1到100之间的整数,把它赋值给number
问题3:将整数以至少4位宽度输出
问题4:避免5个学号一样
task2
问题1:导致总价不断累积
问题2:跳过本次循环中剩余的内容,直接进入下一次循环
task3
1 #include <stdio.h> 2 3 int main() { 4 char color; 5 int i; 6 7 for (i = 0; i < 4; i++) { 8 9 scanf(" %c", &color); 10 11 switch (color) { 12 case 'r': 13 printf("stop!\n"); 14 break; 15 case 'g': 16 printf("go go go\n"); 17 break; 18 case 'y': 19 printf("wait a minute\n"); 20 break; 21 default: 22 printf("something must be wrong...\n"); 23 break; 24 } 25 } 26 27 return 0; 28 }

task4
1 #include <stdio.h> 2 3 int main() { 4 float expense; 5 float total = 0.0; 6 float max = 0.0; 7 float min = 20000.0; 8 int count = 0; 9 10 printf("输入今日开销,直到输入-1终止:\n"); 11 12 while (1) { 13 scanf("%f", &expense); 14 15 if (expense == -1) { 16 break; 17 } 18 19 if (expense > 0 && expense <= 20000) { 20 total += expense; 21 count++; 22 23 if (expense > max) { 24 max = expense; 25 } 26 if (expense < min) { 27 min = expense; 28 } 29 } else { 30 printf("输入无效,请输入 0 到 20000 之间的数字。\n"); 31 } 32 } 33 34 if (count > 0) { 35 printf("今日累计消费总额:%.1f\n", total); 36 printf("今日最高一笔开销:%.1f\n", max); 37 printf("今日最低一笔开销:%.1f\n", min); 38 } else { 39 printf("今日无开销记录。\n"); 40 } 41 42 return 0; 43 }

task5
1 #include <stdio.h> 2 3 int main() { 4 int a, b, c; 5 int i; 6 7 for (i = 0; i < 5; i++) { 8 scanf("%d %d %d", &a, &b, &c); 9 10 if (a + b > c && a + c > b && b + c > a) { 11 12 if (a == b && b == c) { 13 printf("等边三角形\n"); 14 } 15 else if (a == b || a == c || b == c) { 16 printf("等腰三角形\n"); 17 } 18 else if (a*a + b*b == c*c || a*a + c*c == b*b || b*b + c*c == a*a) { 19 printf("直角三角形\n"); 20 } 21 else { 22 printf("普通三角形\n"); 23 } 24 25 } else { 26 printf("不能构成三角形\n"); 27 } 28 } 29 30 return 0; 31 }

#include <stdio.h> #include <stdlib.h> #include <time.h> int main() { int lucky_day; int guess; int i; srand(time(NULL)); lucky_day = rand() % 30 + 1; printf("猜猜2026年11月哪一天是你的lucky day\n"); for (i = 0; i < 3; i++) { if (i == 0) { printf("\n开始喽,你有3次机会,猜吧(1~30): "); } else { printf("\n再猜(1~30): "); } scanf("%d", &guess); if (guess == lucky_day) { printf("\n哇,猜中了:)\n"); break; // 猜中了,跳出循环,不再继续猜 } else if (guess < lucky_day) { printf("\n你猜的日期早了,你的lucky day还没到呢\n"); } else { printf("\n你猜的日期晚了,你的lucky day在前面哦\n"); } } if (i == 3) { printf("\n次数用光啦。11月你的lucky day是%d号\n", lucky_day); } return 0; }


浙公网安备 33010602011771号