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

发布时间 2023-11-22 09:53:19作者: Sakana25

实验任务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 int main(){
 9     int number;
10     int i;
11     srand(time(0));
12     for(i=0;i<N;++i){
13         number=rand()%(N2-N1+1)+N1;
14         printf("202383290376%04d\n",number);
15     }
16     return 0;
17 }

结果演示

 

问题1:随机生成特定区间内的number

问题2:随机生成一个学号

实验任务2

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

结果演示

实验任务3

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

结果演示

实验任务4

 

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

结果演示

实验任务5

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

结果演示

实验任务6

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

结果演示