实验二
任务一
源代码
1 #include <stdio.h> 2 #include <time.h> 3 4 #define N 5 5 #define N1 397 6 #define N2 476 7 #define N3 21 8 int main(){ 9 10 int random_major,random_no; 11 int cnt; 12 srand(time(NULL)); 13 14 cnt=0; 15 while(cnt<N){ 16 random_major=rand()%2; 17 18 if(random_major){ 19 random_no=rand()%(N2-N1+1)+N1; 20 printf("20248329%04d\n",random_no); 21 22 } 23 else{ 24 random_no=rand()%N3+1; 25 printf("20248395%04d\n",random_no); 26 27 28 } 29 cnt++; 30 31 32 } 33 return 0; 34 35 }
图片
问题一: 随机生成397--476范围内的一个数
问题二:随机生成1--21范围内的一个数
问题三:随机生成指定数量的学号
任务二
源代码
1 #include <stdio.h> 2 #include <math.h> 3 int main(){ 4 double a,b,c; 5 double delta,p1,p2; 6 while(scanf("%lf,%lf,%lf",&a,&b,&c)!=EOF) 7 { 8 if(a==0){ 9 printf("a=0,invalid input\n "); 10 continue; 11 } 12 delta=b*b-4*a*c; 13 p1=-b/2/a; 14 p2=sqrt(fabs(delta))/2/a; 15 if(delta==0) 16 printf("x1=x2=%.2g\n",p1); 17 else if(delta>0) 18 printf("x1=%.2g,x2=%.2g\n",p1+p2,p1-p2); 19 else{ 20 printf("x1=%.2g+%.2gi,",p1,p2); 21 printf("x2=%.2g-%.2gi\n",p1,p2); 22 } 23 24 25 26 27 28 29 30 31 32 } 33 return 0; 34 35 36 }
图片
任务三
源代码
1 #include <stdio.h> 2 int main(){ 3 char s; 4 while(scanf("%c",&s)!=EOF){ 5 if(s=='r') 6 printf("stop!\n"); 7 else if(s=='g') 8 printf("go go go\n"); 9 else if(s=='y') 10 printf("wait a minute\n"); 11 else 12 printf("something must be wrong....\n"); 13 14 getchar(); 15 16 17 } 18 return 0; 19 20 21 22 23 }
图片
任务四
源代码
1 #include <stdio.h> 2 int main(){ 3 double sum=0,x,max,min; 4 max=x; 5 min=x; 6 printf("输入今日开销,直到输入-1为止:\n"); 7 scanf("%lf",&x); 8 while(x>0){ 9 sum=sum+x; 10 if(x>max) 11 max=x; 12 else 13 min=x; 14 scanf("%lf",&x); 15 16 } 17 printf("今日累计消费总额:%.1lf\n",sum); 18 printf("今日最高一笔开销:%.1lf\n",max); 19 printf("今日最低一笔开销:%.1lf\n",min); 20 21 return 0; 22 23 }
图片
任务五
源代码
1 #include <stdio.h> 2 int main(){ 3 int a,b,c; 4 while(scanf("%d%d%d",&a,&b,&c)!=EOF){ 5 if(a+b<=c||a+c<=b||b+c<=a) 6 printf("不能构成三角形\n"); 7 else if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a) 8 printf("直角三角形\n"); 9 else if(a==b&&a==c&&b==c) 10 printf("等边三角形\n"); 11 else if(a==b||a==c||b==c) 12 printf("等腰三角形\n"); 13 else 14 printf("普通三角形\n"); 15 } 16 17 18 19 20 21 22 return 0; 23 24 25 }
图片
任务六
源代码
1 #include <stdio.h> 2 #include <time.h> 3 #define N 3 4 #define N1 30 5 int main(){ 6 int luckyday,x; 7 int cnt; 8 srand(time(NULL)); 9 luckyday=rand()%N1+1; 10 cnt=0; 11 printf("猜猜2024年11月哪一天会是你的luckyday\n"); 12 printf("开始喽,你有三次机会,猜吧(1~30):"); 13 14 while(cnt<N){ 15 16 printf("再猜(1~30):"); 17 scanf("%d",&x); 18 19 if(x<luckyday) 20 { 21 printf("你猜的日期早了,你的luckyday还没到呢\n"); 22 } 23 else if(x>luckyday){ 24 25 printf("你猜的日期晚了,你的luckyday在前面哦\n"); 26 } 27 else 28 { 29 printf("哇,猜中了:)\n"); 30 break;} 31 cnt++; 32 } 33 34 if(cnt==N) 35 printf("次数用光啦。偷偷告诉你,11月你的luckyday是%d号\n",luckyday); 36 return 0; 37 38 39 40 41 42 }
图片