实验2 C语言控制语句应用编程
task_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: 伪随机抽取
task_2
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include<math.h>
int main()
{
int number,i,k;
srand(time(0));
number = rand() % 31 + 1;
printf("猜猜2021年11月哪一天是你的lucky day\n");
printf("开始喽,你只有三次机会,猜吧(1~30):");
scanf_s("%d", &i);
for (k = 1; k <= 2; k++)
{
if (i < number) {
printf("你猜的日期早了,你的lucky day还没到呢\n再猜(1~30):");
scanf_s("%d", &i); continue;
}
if (i > number) {
printf("你猜的日期晚了,你的lucky day已经过了\n再猜(1~30):");
scanf_s("%d", &i); continue;
}
if (i == number) {
printf("哇,猜中了:-)");
break;
}
}if (i != number) {
printf("次数用完啦。偷偷告诉你:11月,你的lucky day是%d号", number);
}return 0;
}

task_3
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include<math.h>
int main()
{
char a,i;
while (scanf_s("%c", &a, sizeof(a)) != EOF)
{
i = getchar();
if (a == 'r') { printf("stop!\n"); continue; }
if (a == 'y') { printf("wait a minute\n"); continue; }
if (a == 'g') { printf("go go go\n"); continue; }
if (a != 'r' && 'y' && 'g') { printf("something must be wrong\n"); continue; }
}
return 0;
}

task_4
#include <stdio.h> #include <stdlib.h> #include <time.h> #include<math.h> int main() { int a, n; float s=0, i, A = 1, p; while (EOF) { scanf_s(" %d %d", &n, &a); for (i = 1; i <= n; i++) { A = pow(a, i); s += i / A; } printf("n=%d,a=%d,s=%f\n",n,a, s); } return 0;}

task_5
#include <stdio.h> #include <stdlib.h> #include <time.h> #include<math.h> int main() { int i, n,s; for (i = 1; i <= 9; i++) { for (n = 1; n <= i; n++) { s = n * i; printf("%dx%d=%-2d ", n, i, s); } printf("\n"); } return 0; }

task_6
当输入为n时:
第i行,需要打印2n-2i+1个字符小人
第i行,前面需要打印[i/4]*11空白(需要使用[i/4]个 \t )
#include <stdio.h> #include <stdlib.h> #include <time.h> #include<math.h> int main() { int a,n,i,p,o,k,z; printf("input:"); scanf_s("%d", &n); k = 2*n-1; for (a = 1; a <= n; a++) { for (z = 2; z <= a; z++) { printf(" \t"); } for (p = k; p >= 1; p--) { printf(" O \t"); }printf("\n"); for (z = 2; z <= a; z++) { printf(" \t"); } for (o = k; o >= 1; o--) { printf("<H>\t"); }printf("\n"); for (z = 2; z <= a; z++) { printf(" \t"); } for (i = k; i >= 1; i--) { printf("I I\t"); }printf("\n"); printf("\n"); k = k - 2; } return 0; }

浙公网安备 33010602011771号