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

rand()%500表示产生一个随机的数,介于0~499之间,rand()%500+1就变为1~500之间的一个随机数,此程序可以随机生成随机的学号 srand()和rand()的头文件在stdlib.h

#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #include<time.h> int main() { int n,i,j; srand(time(0)); i = rand() % 30 + 1; printf("猜猜2022年11月哪一天会是你的lucky day\n开始喽,你有三次机会,猜吧(1~30): "); for (n = 1; n < 4; n++) { scanf("%d",&j); if (j < i) { printf("你猜的日期早了,你的lucky day还没到呢\n"); if(i<3) printf("再猜(1~30): "); } else if (j > i) { printf("你猜的日期晚了,你的lucky day已经过啦\n"); if(i<3) printf("再猜(1~30): "); } else if (j == i) { printf("哇,猜中了:-)"); break; } } if (j != i) printf("次数用完啦。偷偷告诉你:11月,你的lucky day是%d号", i); system("pause"); return 0; }


#define _CRT_SECURE_NO_WARNING #include<stdio.h> #include<stdlib.h> int main() { char ch; ch = getchar(); while (ch != EOF) { if (ch == 'r') { printf("stop!\n"); getchar(); } else if (ch == 'g') { printf("go go go\n"); getchar(); } else if (ch == 'y') { printf("wait a minute\n"); getchar(); } else { printf("smoething must be wrong\n"); getchar(); } ch = getchar(); } system("pause"); return 0; }

#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> int main() { unsigned int a = 1, n = 1, b = 1; while (scanf("%u%u", &n, &a) != EOF) { double s = 0.0, i, j; for (i = 1,b=a; i <= n; i++) { j = i / b; s = s + j; b = b * 10 + a; } printf("n=%u,a=%u,s=%lf\n", n, a, s); } system("pause"); return 0; }

#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> int main() { int i,j,s; for (i = 1; i < 10; i++) { for (j = 1; j <=i; j++) { s = j * i; printf("%dx%d=%d\t",j,i,s); } printf("\n"); } system("pause"); return 0; }

#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> int main() { int n,i,j,m,h; printf("input n: "); scanf("%d", &n); m = n; for (i = 1; i <= n; i++) { for (h = 1; h < i; h++) printf("\t"); for (j = 1; j <= (2 * m - 1); j++) { printf(" O \t"); } printf("\n"); for (h = 1; h < i; h++) printf("\t"); for (j = 1; j <= (2 * m - 1); j++) { printf("<H>\t"); } printf("\n"); for (h = 1; h < i; h++) printf("\t"); for (j = 1; j <= (2 * m - 1); j++) { printf("I I\t"); } printf("\n"); m = m - 1; } system("pause"); return 0; }


规律:
1.有n行,第一行小人2n-1,第二行2n-3,直到第n行小人1个
2.第n行就有n-1个空格
思路:
1.先找出n与行之间小人的关系
2.利用for循环,外层for循环控制行,内层控制小人身体
3.内层先第一行打印所需的O,再复制和O一样的for循环代码,同样打印<H>,I I
4.结果打印出来每行的小人数量相同,但排布不一样,而是像个三角形,原因第一个小人永远顶头
5.所以要在打印O前再设置一个for循环,找出空格与行的关系
6.找到后同样复制到<H>,I I
7.结果打印出来就会符合

浙公网安备 33010602011771号