实验二
task1
#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; }
line18代码生成一个586到701之间的随机数
程序的功能生成5个随机的末位在586到701之间的学号
task2
#include<stdio.h> int main() { double x,y; char c1,c2,c3; int a1,a2,a3; scanf("%d %d %d",&a1,&a2,&a3);//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); scanf("%lf,%lf",&x,&y);//scanf("%f,%lf",&x,&y); printf("x=%lf,y=%lf\n",x,y); return 0; }
task3_1
#include<stdio.h> #include<math.h> int main() { double x,ans; scanf("%lf",&x); ans=pow(x,365); printf("%.2f的365次方:%.2f\n",x,ans); return 0; }
task3_2
#include<stdio.h> #include<math.h> int main() { double x,ans; while (scanf("%lf",&x)!=EOF) { ans=pow(x,365); printf("%.2f的365次方:%.2f\n",x,ans); printf("\n"); } return 0; }
task3_3
#include<stdio.h> #include<math.h> int main() { double C,F; while (scanf("%lf",&C)!=EOF) { F=9.0/5.0*C+32; printf("摄氏度为%.2f时,华氏度为:%.2f\n",C,F); printf("\n"); } return 0; }
task4
#include<stdio.h> int main() { printf("请输入一个字母,用以表示交通信号灯颜色。输入r表示red,输入g表示green,输入y表示yellow\n"); char color; while (scanf("%c",&color)!=EOF) { getchar(); switch(color){ case'r':printf("stop\n");break; case'g':printf("go go go\n");break; case'y':printf("wait a minute\n");break; default:printf("something must be wrong\n");break; } } return 0; }
task5
#include<stdio.h> #include<stdlib.h> #include<time.h> int main() { printf("请输入一个数字来猜猜你在四月的幸运日吧!\n"); srand(time(0)); int n,i,m; m=rand()%30+1; for(i=1;i<=3;i++){ scanf("%d",&n); if(n==m){ printf("哇,猜中了欸");break; }else if(n<m){ printf("你猜的日期太早啦,你的lucky day还没到呢\n"); printf("再试一次吧\n"); }else{ printf("你猜的日期晚了,你的lucky day已经过了呀\n"); if(i<3){ printf("再试一次吧\n"); } } } if(i==4){ printf("其实你四月的lucky day是%d\n",m); } return 0; }
task6
#include<stdio.h> int main() { int n,i,j; scanf("%d",&n); n=9; i=1; for(i==1;i<=n;i++){ j=1; for(j==1;j<=i;j++){ printf("%d*%d=%d",j,i,i*j); if(i*j<10){ printf(" "); }else{printf(" "); } }printf("\n"); } return 0; }
task7
#include<stdio.h> int main() { int i,j,n,s,k,q,r,t,p; scanf("%d",&n); s=n; for(i=1;i<=n;i++) { for(j=1;j<i;j++){ printf("\t");} for (k=1;k<=(2*s-1);k++){ printf(" o \t");} printf("\n"); for(q=1;q<i;q++){ printf("\t"); } for(r=1;r<=(2*s-1);r++){ printf("<H>\t");\ } printf("\n"); for(t=1;t<i;t++){ printf("\t"); } for(p=1;p<=(2*s-1);p++){ printf("I I\t"); } printf("\n"); s=s-1; } return 0; }
当输入为n时:
第i行,需要打印2*(n-i)+1个字符小人
第i行,前面需要打印6*(i-1)空白