实验2

实验任务1:

task1.c源代码:

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <time.h>
 4 
 5 #define N 5
 6 #define N1 397
 7 #define N2 476
 8 #define N3 21
 9 
10 int main()
11 {
12     int cnt;
13     int random_major,random_no;
14     
15     srand(time(NULL));
16     
17     cnt=0;
18     while(cnt<N)
19     {
20         random_major=rand()%2;
21         if(random_major)
22         {
23             random_no=rand()%(N2-N1+1)+N1;
24             printf("20248329%04d\n",random_no);
25         }
26         else
27         {
28             random_no=rand()%N3+1;
29             printf("20248395%04d\n",random_no);
30         }
31         cnt++;
32     }
33     
34     return 0;
35 }

运行结果:

问题1:第23行代码是为了生成从N1到N2内的随机整数

问题2:第28行代码是为了生成从1到N3内的随机整数

问题3:这个程序是为了随机生成在两个范围内的整数

 

 

实验任务2:

task2.c源代码:

 1 #include <stdio.h>
 2 #include <math.h>
 3 
 4 int main()
 5 {
 6     double a,b,c;
 7     double delta,p1,p2;
 8     
 9     while(scanf("%lf%lf%lf",&a,&b,&c)!=EOF)
10     {
11         if(a==0)
12         {
13             printf("a=0,invalid input");
14             continue;
15         }
16         delta=b*b-4*a*c;
17         p1=-b/2/a;
18         p2=sqrt(fabs(delta))/2/a;
19         if(delta==0) printf("x1=x2=%.2g\n",p1);
20         else if(delta>0) printf("x1=%.2g,x2=%.2g\n",p1+p2,p1-p2);
21         else
22         {
23             printf("x1=%.2g+%.2gi,",p1,p2);
24             printf("x2=%.2g-%.2gi\n",p1,p2);
25         }
26         
27     }
28     return 0;
29 }

运行结果:

 

 

实验任务3:

task3.c源代码:

 

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

 

运行结果:

 

 

 

实验任务4:

task4.c源代码:

 

 1 #include <stdio.h>
 2 int main()
 3 {
 4     double money,c;
 5     double max=0,min=20000;
 6     printf("输入今日开销,直到输入-1终止:\n");
 7     while(scanf("%lf",&money),money!=-1)
 8     {
 9         if(money>max) max=money;
10         else min=money;
11         getchar();
12         c=c+money;
13         
14     }
15     printf("今日累计消费总额:%.1f\n",c);
16     printf("今日最高一笔开销:%.1f\n",max);
17     printf("今日最低一笔开销:%.1f\n",min);
18     
19     return 0;
20 }

 

运行结果:

 

 

 

实验任务5:

task5.c源代码:

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

 

运行结果:

 

 

实验任务6:

task6.c源代码:

 1 #include <stdio.h>
 2 #include<time.h>
 3 int main()
 4 {
 5     srand(time(NULL));
 6     int random_number=rand()%30+1;
 7     int day,count=1;
 8     
 9     printf("猜猜2024年11月哪一天是你的lucky day\n");
10     printf("\n");
11     printf("开始喽,你有三次机会,猜吧(1~30):");
12 
13     while(scanf("%d",&day),day!=random_number,count<3)
14     {
15         printf("\n");
16         if(day>random_number) printf("你猜的日期晚了,你的lucky day还在前面哦\n");
17         else printf("你猜的日期早了,你的lucky day还没到呢\n") ;
18         printf("\n");
19         printf("再猜(1~30):");
20         count+=1;
21     }
22     printf("\n");
23     if(day==random_number) printf("哇,猜中了:)");
24     
25     else if(day>random_number){
26     printf("你的日期猜晚了,你的lucky day还在前面哦\n");
27     printf("\n");
28     printf("次数用光了。偷偷告诉你,11月你的lucky day是%d号",random_number);}
29     
30     else {
31     printf("你猜的日期早了,你的lucky day还没到呢\n");
32     printf("\n");
33     printf("次数用光了。偷偷告诉你,11月你的lucky day是%d号",random_number);}
34 
35     return 0;
36 }

 

运行结果:

 

posted @ 2024-10-11 15:46  温姒妤  阅读(5)  评论(0编辑  收藏  举报