实验2

实验任务1

问题1:根据时间生成随机数

问题2:根据时间生成以20256136开头的,后4位随机的(不足的地方用0补足的)12为随机数

实验任务2

问题1:程序在多次运行时总价格会叠加

问题2:使程序while循环从头开始运行

实验任务3

源代码

 1 #include<stdio.h>
 2 int main(){
 3     char a;
 4     while (1){
 5 
 6         a=getchar();
 7         if (a==EOF){break;}
 8         if (a=='r'){printf("stop!\n");}
 9         else if (a=='g'){printf("go go go\n");}
10         else if (a=='y'){printf("wait a minute\n");}
11         else {printf("something must be wrong...\n");}
12         getchar();
13     }
14     return 0;
15 }
task3

编译结果

image

 实验任务4

源代码

 1 #include <stdio.h>
 2 int main()
 3     {double a,b=0,c=20001,d=0;
 4     printf("请输入今日开销,直到输入-1终止\n");
 5     while(1) {
 6         scanf("%lf",&a);
 7         if(a==-1) {break;}
 8         b+=a;
 9         if(c>a){c=a;}
10         if(d<a){d=a;}}
11     printf("今日累计消费总额:%.1lf\n",b);
12     printf("今日最高一笔开销%.1lf\n",d);
13     printf("今日最低一笔开销%.1lf\n",c);
14     return 0;}
task4

编译结果

image

 实验任务5

源代码

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

编译结果

image

 实验任务6

源代码

 1 #include <ctype.h>
 2 #include<stdio.h>
 3 #include<stdlib.h>
 4 #include <time.h>
 5 int main() {
 6    int a,b,i;
 7    srand(time(NULL));
 8    a = rand() % 30 + 1;
 9    printf("猜猜2025年11月那一天是你的lucky day\n");
10    printf("开始喽,你有三次机会,猜吧(1~30):");
11    for (i = 0; i < 3; i++) {
12       scanf("%d",&b);
13       if (b==a){printf("哇,猜中了\n");break;}
14       else if(b>a)
15          {printf("你猜的日期晚了,你的lucky day在前面哦\n");}
16       else
17          {printf("你猜的日期早了,你的lucky day还没到呢\n");}
18       printf("再猜(1~30):");
19    }
20    return 0;
21 }
task6

编译结果

image

 

posted @ 2025-10-19 12:29  尚逸辰  阅读(5)  评论(0)    收藏  举报