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

task1.c

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 #include<time.h>
 4 #define N 5
 5 int main(){
 6     int number;
 7     int i;
 8     srand(time(0));
 9     for(i=0;i<N;++i){
10         number=rand()%65+1;
11         printf("20238331%04d\n",number);
12     }
13     return 0;
14 } 

问题1:解释line15代码,赋值number为一个1~65的一个随机数:rand函数生成一个随机数,这个随机数对65进行求余运算后结果加一
问题2:这个程序的功能是生成五个从202383310001~202383310065的随机学号且每次不重复
task2.c
 1 #include<stdio.h>
 2 int main(){
 3     char light;
 4     while((light=getchar())!=EOF){
 5         getchar();
 6         switch(light){
 7         case 'r':printf("stop!\n");break;
 8         case 'y':printf("wait a minute\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 }

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

测试1:

测试2:

 task4.c

 1 #include<stdio.h>
 2 int main(){
 3     int n,i,a,down;
 4     while(scanf("%d%d",&n,&a)!=EOF){
 5         double s=0;
 6         down=a;    
 7         for(i=1;i<=n;++i){
 8         s+=1.0*i/down;
 9         down=down*10+a;
10     }
11     printf("n=%d,a=%d,s=%f\n",n,a,s);
12     }
13     return 0;
14 }

task5.c

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

task6.c

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

 

实验总结

1.利用void函数简化小人的各部分,形式参数可以是整型

2.for循环函数中变量i,可以支持i--

3.时间种子设置随机变量

posted @ 2024-04-13 20:05  林中有杉木  阅读(25)  评论(0)    收藏  举报