实验任务 1:
#include <stdio.h> #include <stdlib.h> #include <time.h> #define N 5 int main () { int number; int i ; srand(time(0)); for(i = 0;i<N;i++) { number = rand()%500+1; printf("20228329%04d\n",number); } return 0; }

问题 1:随机生成一个范围在1~500以内的整数
问题 2:随机生成5个同学的学号
实验任务 2:
#include <stdio.h> #include <stdlib.h> #include <time.h> #define a 1 #define b 31 int main () { printf("猜猜2022年11月那一天会是你的lucky day\n开始喽,你有三次机会,猜吧(1~30):"); srand ((int)time(0)); int num = rand()%(b-a+1)+a; int usernum; int f = 0; for (int i = 0;i<3;i++) { f++; scanf("%d%*c",&usernum); if (usernum > num) printf("你猜的日期晚了,你的lucky day已经过啦\n"); if (usernum < num) printf("你猜的日期早了,你的lucky day已经过啦\n"); if (usernum == num) { printf("哇,猜中了:-)\n"); break; } if (i<2) printf("再猜(1~30):"); } if ( f == 3) { printf("\n"); printf("\n次数用完啦。偷偷告诉你:11月,你的lucky day是%d号",num); } return 0; }

实验任务 3:
#include <stdio.h> int main() { char ch; do { char c; scanf("%c%*c",&c); if (c == 'y') printf("wait a minute"); if (c == 'g') printf("go go go"); if (c == 'r') printf("stop!"); if ((c != 'r')&&(c != 'y')&&(c != 'g')) printf("something must be wrong...\n"); }while ((ch=getchar()) != EOF); return 0; }

实验任务 4:
#include <stdio.h> #include <math.h> int main() { int n,a; int p = 0; double sum = 0; char ch; do { scanf("%d %d",&n,&a); for (int i = 1;i<=n;i++) { p += a * pow(10,(i-1)); sum += (double)i / p; } printf("n=%d, a=%d, s = %f\n",n,a,sum); p = 0; sum = 0; }while ( (ch=getchar()) !=EOF); return 0; }

实验任务 5:
#include <stdio.h> #include <math.h> int main() { int mul; for (int i = 1;i < 10;i++) { for(int k = 1;k<=i;k++) { mul = i * k; printf("%dx%d = %2d ",k,i,mul); if (i == k) printf("\n"); } } return 0; }

实验任务 6:
#include <stdio.h> int main() { int n; printf("input n :"); scanf("%d",&n); int total = 2 * n - 1; for (int i = 0;i<n;i++) { for (int k = 1;k<=total;k++) { if (k > i && k < 2 * n - i) printf(" O\t"); else printf("\t"); if (k == total) printf("\n"); } for (int k = 1;k<=total;k++) { if (k > i && k < 2 * n - i) printf("<H>\t"); else printf("\t"); if (k == total) printf("\n"); } for (int k = 1;k<=total;k++) { if (k > i && k < 2 * n - i) printf("I I\t"); else printf("\t"); if (k == total) printf("\n"); } printf("\n"); } return 0; }


当输入为n时:
第i行,需要打印 (2n-2i+1)个小人
第i行,前面需要打印(i-1)个空白
浙公网安备 33010602011771号