实验2
实验1:生成随机码
问题:1.生成586 ~701之间的随机数
2.生成202283300586~202283300701的随机码
#include<stdio.h> #include<stdlib.h> #include<time.h> #define N 5 #define R1 586 #define R2 701 int main() { int number; int i; srand(time(0)); for(i = 0; i < N; ++i) { number = rand()% (R2-R1 +1) + R1; printf("20228330%04d\n",number); } return 0; }
实验2:输入内容
#include<stdio.h> int main() { int a1,a2,a3; char c1,c2,c3; double x,y; scanf("%d%d%d",&a1,&a2,&a3); printf("a1=%d,a2=%d,a3=%d\n",a1,a2,a3); getchar(); scanf("%c %c %c",&c1,&c2,&c3); printf("c1=%c,c2=%c,c3=%c\n",c1,c2,c3); getchar(); scanf("%lf,%lf",&x,&y); printf("x=%lf,y=%lf\n",x,y); return 0; }
实验3:幂运算
ctrl +z 停止
#include<stdio.h> #include<math.h> int main() { double x,y; scanf("%lf",&x); y = pow(x,365); printf("%.2lf的365次方:%.2lf\n",x,y); return 0; }
#include<stdio.h> #include<math.h> int main() { double x,y; while( scanf("%lf",&x) != EOF) { y = pow(x,365); printf("%.2lf的365次方:%.2lf\n",x,y); printf("\n"); } return 0; }
#include<stdio.h> #include<math.h> int main() { double c,f; while(scanf("%lf",&c) != EOF) { f = (9.0*c/5.0 + 32); printf("摄氏度c = %4.2f时,华氏度f = %4.2f\n",c,f); } return 0; }
实验四:
#include<stdio.h> #include<math.h> int main() { char t; while(scanf("%c",&t) != EOF) { switch(t) { case'y':printf("wait a minute\n");break; case'r':printf("stop!\n");break; case'g':printf("go go go \n");break; default:printf("something must be wrong\n");break; } getchar(); } return 0; }
实验五
#include<stdio.h> #include<stdlib.h> #include<time.h> int main() { int day,i,ld; i=1; srand(time(0)); ld = rand()%(30-1+1)+1; printf("猜猜2023年4月哪一天会是你的luck day\n"); for(i=1;i<=3;i++) { scanf("开始咯,你有三次机会,猜吧(1~30): %d",&day); if(day == ld) { printf("哇猜中了\n"); break;} else if(day <ld) printf("你猜的日期早了,你的luck day 还没到呢\n"); else printf("你猜的日期晚了,你的luck day 已经过了啦\n"); } printf("次数用完啦,偷偷告诉你:4月,你的 luck day 是%d号",ld); return 0; }
实验六
#include<stdio.h> int main() { int i,j,k; i=1; j=1; k=1; for(j=1;j<=9;j++) { for(i=1;i<=j;i++) { k = i*j; printf("%d ×%d = %d ",i,j,k); if (i == j) printf("\n"); } } }
实验七
问题:第i行打印2*(i-1)+1个小人
打印 i-1个空白
/*打印倒三角排列的小人*/ #include<stdio.h> #include<stdlib.h> int main() { int i,j,line; printf("input line:"); scanf("%d",&line); for(i=1;i<=line;i++) { for(j=1;j<= i-1;j++) printf(" "); for( j =1;j<=2*(line-i)+1;j++) printf(" O "); printf("\n"); for(j=1;j<=i-1;j++) printf(" "); for( j =1;j<=2*(line-i)+1;j++) printf("<H> "); printf("\n"); for(j=1;j<= i-1;j++) printf(" "); for( j =1;j<=2*(line-i)+1;j++) printf("I I "); printf("\n"); printf("\n"); } return 0; }
收获:
1.for(; ;)里面不要打成,
2,第i行打印2*(i-1)+1个小人
打印 i-1个空白
3.#include<time.h>
srand(timr(0))
n = rand()%(a-b+1)+b