实验2 C语言分支与循环基础应用编程

发布时间 2023-10-21 20:40:30作者: Eternity//

实验任务1

源代码

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <time.h>
 4 
 5 #define N 5
 6 #define N1 374
 7 #define N2 465
 8 
 9 int main () 
10 {
11     int number;
12     int i;
13     
14     srand(time(0));
15     
16     for(i=0;i<N;++i){
17         number = rand()%(N2 - N1 + 1) + N1;
18         printf("202383290376%04d\n", number);
19     }
20     
21     return 0;
22 }
View Code

运行截图

回答问题:

1.答:line17用于生成一个N1到N2之间的随机整数。

2.答:这个程序用于生成N个N1到N2之间的随机整数,并将它们输出。

实验任务2

源代码

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

截屏

实验任务3

源代码

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 #include<time.h>
 4 int main()
 5 {
 6     int r,n,x;
 7     n = 0;
 8     srand (time(0));
 9     r=rand()%30+1;
10     printf("猜猜2023年11月哪一天会是你的lucky day\n开始喽,你有三次机会,猜吧(1~30): ");
11     for(n=0;n<3;n++){
12         scanf("%d",&x);
13         if(x<r){
14             printf("你猜的日期早了,你的lucky day还没到呢\n"); 
15             if(n<3)
16             printf("再猜(1~30):"); 
17         }
18         else if(x>r){
19             printf("你猜的日期晚了,你的lucky day已经过啦\n");
20             if(n<3)
21             printf("再猜(1~30):");     
22         }
23         else if(x==r){
24             printf("哇,猜中了:-)");
25             break;
26         }
27     }
28     if(n==3){
29         printf("次数用完啦。偷偷告诉你:11月,你的lucky day是%d号",r);
30     }
31     
32     return 0; 
33 }
View Code

截屏

实验任务4

源代码

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 #include<math.h>
 4 int main()
 5 {
 6     int n,a,x,y;
 7     while(scanf("%d %d",&n,&a)!=EOF){
 8         double s=0.0;
 9         for(x=1,y=0;x<=n;x++){
10             y+=a*pow(10,x-1);
11             s+=x*1.0/y;
12         }
13         printf("n = %d,a = %d,s = %lf\n",n,a,s);
14     }
15     return 0;
16  } 
View Code

截图

实验任务5

源代码

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int m,n,s=0;
 5     m=1;
 6     n=1;
 7     for(m=1;m<=9;m++)
 8     {
 9         for(n=1;n<=m;n++){
10             s = m*n;
11             printf("%dx%d = %2d ",m,n,s);
12         }
13         printf("\n");
14     }
15     return 0;
16 }
View Code

截屏

实验任务6

源代码

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int m,n,i,a;
 5     scanf("%d",&m);
 6     for(n=1;n<=m;n++){
 7         for(i=1;i<n;i++)
 8             printf("\t");
 9         for(a=1;a<=2*(m+1)-1-2*n;a++)
10             printf(" O \t");
11          printf("\n");
12          for(i=1;i<n;i++)
13             printf("\t");
14         for(a=1;a<=2*(m+1)-1-2*n;a++)
15         printf("<H>\t");
16         printf("\n");
17         for(i=1;i<n;i++)
18             printf("\t");
19         for(a=1;a<=2*(m+1)-1-2*n;a++)
20         printf("I I\t");
21         printf("\n");
22     }
23     return 0;
24 }
View Code

截图