实验二
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; }
1、line18是为了生成586到701的随机整数
2、该程序是生成五个范围在202283300586到202283300701的数字
task2
#include<stdio.h int main() { double x, y; char c1, c2, c3; int a1, a2, a3; scanf("%d,%d,%d", &a1, &a2, &a3); printf("a1 = %d, a2 = %d, a3 = %d\n", a1, a2, a3); scanf("%c,%c,%c", &c1, &c2, &c3); printf("c1 = %c1, c2 = %c2, c3 = %c3\n ", c1, c2, c3); scanf("%f, %lf", &x, &y); printf("x = %f, y = %lf\n", x, y); return 0; }
task3
#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; }
#include <stdio.h> #include <math.h> int main() { double x, ans; while(scanf("%lf", &x) != EOF) { ans = pow(x, 365); printf("%.2f的356次方: %.2f\n", x, ans); printf("\n"); } return 0; }
#include <stdio.h> #include <math.h> int main() { double C, F; while(scanf("%lf", &C) != EOF) { F = 9*C/5 + 32; printf("摄氏度C=%.2f时,华氏度F=%.2f", C, F); printf("\n"); } return 0; }
task4
#include<stdio.h> #include<stdlib.h> #include<math.h> int main() { char colour; while(scanf("%c", &colour) != EOF) { getchar(); switch(colour){ 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"); } } return 0; }
task5
#include<stdio.h> #include<stdlib.h> #include<time.h> int main(){ int x,y,i;//x为luckyday,y为随机输入的一天在1到30之间 printf("猜猜2023年4月哪一天会是你的lucky day\n"); printf("开始喽,你有三次机会,猜吧(1~30):"); srand(time(0)); for (i=1;i<=3;i++) { scanf("%d",&x); y=rand()%30+1; if(x==y){ printf("哇,猜中了;-)\n"); break;} else if(x<y) { printf("你猜的日期早了,你的lucky day还没到呢\n"); printf("再猜(1~30):");} else{ printf("你猜的日期晚了,你的lucky day已经过了\n"); printf("再猜(1~30):");} } if (i==4) printf("次数用完了,偷偷告诉你:4月,你的lucky day是%d号\n",y); return 0; }
task6
#include<stdio.h> #include<math.h> int main(){ int i,j,u; for(i=1;i<=9;i++){ for(j=1;j<=i;j++){ u = i * j; printf("%dx%d=%d",i,j,u); printf("\t"); } printf("\n"); } return 0; }
task7
#include<stdio.h> #include<stdlib.h> int main() { int n,i,t; printf("enter n:"); scanf("%d",&n); for(i=1;i<=n;i++) { for(t=1;t<=i-1;t++) {printf("\t");} for(t=1;t<=(n-i)*2+1;t++) {printf(" O \t");} printf("\n"); for(t=1;t<=i-1;t++) {printf("\t");} for(t=1;t<=(n-i)*2+1;t++) {printf("<H>\t");} printf("\n"); for(t=1;t<=i-1;t++) {printf("\t");} for(t=1;t<=(n-i)*2+1;t++) {printf("I I\t");} printf("\n");} system("pause"); return 0; }
当输入为n时,第i行需要打印(n-i)*2+1个小人;第i行前面需要打印2*i-2个\t