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

发布时间 2023-10-18 22:55:21作者: 李雨诗

1、实验1

实验1 源代码

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 #include<math.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()%(N1-N2+1)+N1;
18     printf("202383290376%04d\n",number);
19      }
20     return 0;
21 }

实验1 运行结果

问题1:line17的作用是随机生成数字

问题2:随机生成五个末尾数字在374-465之间

2、实验2

实验2 源代码

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

实验2 运行结果

3、实验3

实验3 源代码

 

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

 

实验3 运行结果

 

4、实验4

实验4 源代码

 

 1 #include<stdio.h>
 2 
 3 int main()
 4 {
 5     int n,a;
 6     int i;
 7     double s=0;
 8     
 9     while(scanf("%d %d",&n,&a) != EOF){
10         int l = a;
11         double sum = 0;
12         for(i = 1;i <= n;i++){
13         
14             s = (double)i/l;
15             sum = sum+s;
16             l = l*10+a;
17         }
18     
19     printf("n = %d,a = %d,s = %lf\n",n,a,sum);
20     }
21     return 0;
22 }

实验4 运行结果

5、实验5

实验5 源代码

 1 #include<stdio.h>
 2 
 3 int main()
 4 {
 5     int i,j;
 6 
 7     
 8     for(i = 1;i<= 9;i++){
 9         for(j=1;j<=i;j++){
10             printf("%d x %d = %2d\t",j,i,j*i);
11         }
12     printf("\n");
13     }return 0;
14 }

实验5 运行结果

 

6、实验6

实验6 源代码

 

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int n,r,x,i,j;
 5     printf("input n:");
 6     scanf("%d",&n);
 7     for(i=n;i>=0;i--)
 8     {
 9         r=2*i+1;
10         for(x=i;x<n;x++)
11             printf("\t");
12         for(j=1;j<=r;j++){
13             printf(" O \t");
14         }
15         printf("\n");
16         
17         for(x=i;x<n;x++){
18             printf("\t");
19         }
20         
21         for(j=1;j<=r;j++){
22             printf("<H>\t");
23         }
24         printf("\n");
25         
26         for(x=i;x<n;x++){
27             printf("\t");
28         }
29         for(j=1;j<=r;j++){
30             printf("I I\t");
31         }
32         printf("\n");
33     }
34     return 0;
35 }

 

实验6 运行结果