C语言实验二
task.1
//生成五个随机2018~2021级龙山书院同学的学号
#include<stdio.h> #include<stdlib.h> #include<time.h> #define N 5 int main() { int grade,number; int i; srand(time(0)); //以当前系统时间作为随机种子 for(i=0;i<N;++i) { grade=rand()%4+2018; //生成2018~2021的随机数 number=rand()%999+1; //生成1~999的随机数 printf("%d83300%04d\n",grade,number); } return 0; }
task.2
#include<stdio.h> #include<stdlib.h> #include<time.h> int main() { int i,lucky_day,guess,k=0; srand(time(0)); lucky_day=rand()%30+1; printf("猜猜2022年4月哪一天会是你的lucky day\n开始喽,你有三次机会,猜吧(1~30): "); for(i=1;i<=3;i++) { scanf("%d",&guess); if(guess==lucky_day) { printf("哇,猜中了\n"); break; } else if(guess<lucky_day) printf("你猜的日期早了,你的lucky day还没到呢\n再猜: (1~300)"); else printf("你猜的日期晚了,你的lucky day已经过了\n再猜:(1~30)"); k++; } if(k==3) printf("次数用完了,偷偷告诉你,4月,你的lucky day是%d号",lucky_day); return 0; }
task.3
#include<stdio.h> int main() { char ch; while(scanf("%c",&ch)!=0) { if(ch=='r') printf("stop!\n"); else if(ch=='g') printf("go go go\n"); else if(ch=='y') printf("wait a minute\n"); else printf("something must be wrong...\n"); getchar(); } return 0; }
task.4
#include<stdio.h> #include<math.h> #include<stdlib.h> int main() { int n,a,i; while(scanf("%d%d",&n,&a)!=EOF) { double m=0,s=0; for(i=1;i<=n;i++) { m=m+a*pow(10,i-1); s=s+i/m; } printf("n=%d, a=%d, s= %lf\n",n,a,s); } return 0; }
task.5
#include<stdio.h> int main() { int i,j,s; for(i=0;i<=9;i++) { for(j=0;j<=9;j++) { if(j<=i) { s=i*j; printf("%d×%d=%d\t",i,j,s); } } printf("\n"); } return 0; }
task.6-1
#include<stdio.h> int main() { int n,i; scanf("%d",&n); printf("input n: %d\n",n); for(i=1;i<=n;i++) { printf(" O\n"); printf("<H>\n"); printf("I I\n\n"); } return 0; }
task.6-2
#include<stdio.h> int main() { int n,i; scanf("%d",&n); printf("input n: %d\n",n); for(i=1;i<=n;i++) { printf(" O "); } printf("\n"); for(i=1;i<=n;i++) { printf("<H> "); } printf("\n"); for(i=1;i<=n;i++) { printf("I I "); } printf("\n"); return 0; }
task.6-3
#include<stdio.h> int main() { int row,col,n; scanf("%d",&n); for(row=1;row<=n;row++) { for(col=1;col<row;col++) printf(" "); for(col=1;col<=2*n-(2*row-1);col++) printf(" O "); printf("\n"); for(col=1;col<row;col++) printf(" "); for(col=1;col<=2*n-(2*row-1);col++) printf("<H> "); printf("\n"); for(col=1;col<row;col++) printf(" "); for(col=1;col<=2*n-(2*row-1);col++) printf("I I "); printf("\n"); } return 0; }
1.对生成随机数的函数有了进一步的了解
2.理解了赋值在循环内外本质的不同
3.通过打印特殊形状的字符小人的方法有了了解,并且能将此种方法应用到其他相似的图形打印中