task1
问题一:提供随机种子,避免每次运行的结构都是一致的
问题二:生成四个随机的数字,且数字的前几位数只有两种形式,后4位数是随机的,类似于学号的生成。
task2
问题一:去掉之后的第一次结果并无影响,第二次运行结果就会错误。
问题二:执行下面的代码。
task3
1 #include <stdio.h> 2 3 int main() { 4 char color; 5 6 7 while (scanf_s("%c",&color) != EOF) { 8 if (color == '\n') continue; 9 10 if (color == 'y') { 11 printf("wait a minute\n"); 12 } 13 else if (color == 'r') { 14 printf("stop\n"); 15 } 16 else if (color == 'g') { 17 printf("go go go\n"); 18 } 19 else { 20 printf("something must be wrong\n"); 21 } 22 } 23 return 0; 24 }
代码中的if(color=='\n') continue;很关键啊
截图

task4
1 #include<stdio.h> 2 int main() { 3 printf("输入今天开销:\n"); 4 double x, min, max, s=0; 5 scanf_s("%lf\n",&x); 6 max = x; 7 min = x; 8 while (x != -1) { 9 if (x > max)max=x; 10 if (x < min)min = x; 11 s = s + x; 12 scanf_s("%lf", &x); 13 if (x == -1) 14 break; 15 } 16 17 printf("今日最大开销:%lf\n", max); 18 printf("今日最低开销:%lf\n", min); 19 printf("今日总开销:%.2lf\n", s); 20 return 0; 21 22 }
截图

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

有一个小问题,我这个代码在visual studio 2026中运行,使用多次ctrl+z都无法终止程序,但在Dev c++里面可以正常使用。
task6
1 #include<stdio.h> 2 int main() { 3 srand((unsigned int)time(NULL)); 4 int a = rand()%30 + 1; 5 int x; 6 int count=0; 7 printf("猜猜2025年11月哪天是你的lucky day\n\n "); 8 printf("开始喽,你有三次机会,猜吧(1-30):"); 9 while (count < 3) { 10 count++; 11 scanf_s("%d", &x); 12 if (x > a) 13 printf("你猜的日期晚了,你的lucky day在前面哦\n\n再猜:"); 14 15 else if (x < a) 16 printf("你猜的日期早了,你的lucky day还在后面呢\n\n再猜:"); 17 18 else { 19 printf("哇猜对了"); 20 break; 21 } 22 23 24 25 } 26 if (count >= 3) 27 printf("次数用光了。偷偷告诉你,11月你的lucky day是%d号", a); 28 return 0; 29 }
截图


浙公网安备 33010602011771号