实验二
task1
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define N 5
int main()
{
int grade, number;
int i;
srand(time(0));
for (i = 0;i < N;++i)
{
grade = rand() % 4 + 2018;
number = rand() % 999 + 1;
printf("%d833 %04d\n", grade, number);
}
return 0;
}
task2
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 3
int main()
{
int ld, d, i, n = 0;
srand(time(0));
ld = rand() % 30 + 1;
printf("猜猜2022年4月哪一天会是你的lucky day\n\n");
printf("开始喽,你有三次机会,猜吧(1^30):");
for (i = 0; i < N; ++i)
{
scanf_s("%d", &d);
if (d == ld)
{
printf("\n哇,猜中了:-)\n"); break;
}
if (d > ld)
{
printf("\n你猜的日期晚了,你的lucky day已经过啦\n");
}
else
{
printf("\n你猜的日期早了,你的lucky day 还没到呢\n");
}
n++;
if (n < N)
{
printf("\n再猜(1^30):");
}
else
{
printf("\n次数用完啦。偷偷告诉你:4月,你的lucky day是%d号\n", ld);
}
}
return 0;
}
问题1:解释line16代码的功能
答:随机生成2018-2021范围内的数。
问题2:解释line17代码的功能
答:随机生成1-999范围内的数。
问题3:这个程序的功能是什么?
答:随机生成五个201883300001-202183300999内的数(随机生成五个2018级到2021级学生的学号)。
task3
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
char c;
while (scanf("%c", &c) != EOF)
{
if (c == 'y')
{
printf("wait a minute\n");
}
else if (c == 'g')
{
printf("go go go\n");
}
else if (c == 'r')
{
printf("stop!\n");
}
else
{
printf("something must be wrong...\n");
}
c = getchar();
}
return 0;
}
task4
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
int n, a;
double i, s, b;
while (scanf("%d%d", &n, &a) != EOF)
{
for (s = 0, b = 0, i = 1; i <= n; i++)
{
b = b + a * pow(10, i - 1);
s += i / b;
}
printf("n=%d,a=%d,s=%f\n\n", n, a, s);
}
system("pause");
return 0;
}
task5
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
int n, a;
double i, s, b;
while (scanf("%d%d", &n, &a) != EOF)
{
for (s = 0, b = 0, i = 1; i <= n; i++)
{
b = b + a * pow(10, i - 1);
s += i / b;
}
printf("n=%d,a=%d,s=%f\n\n", n, a, s);
}
system("pause");
return 0;
}
task6_1
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int n, N;
int main()
{
printf("input n:");
scanf("%d", &N);
do
{
printf(" o \n");
printf("<H>\n");
printf("I I\n");
printf("\n");
n++;
} while (n <= N);
return 0;
}
task6_2
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int n, N;
printf("input n:");
scanf("%d", &N);
for (n = 1; n <= N; n++)
printf(" o\t");
printf("\n");
for (n = 1; n <= N; n++)
printf("<H>\t");
printf("\n");
for (n = 1; n <= N; n++)
printf("I I\t");
printf("\n");
return 0;
}
task6_3
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int N, m, n, a;
printf("input n:");
scanf("%d", &N);
for (m = 0; m <= N; m++)
{
for (n = 0; n <= m; n++)
printf("\t");
for (a = 0; a < N * 2 + 1 - m * 2; a++)
printf(" o \t");
printf("\n");
for (n = 0; n <= m; n++)
printf("\t");
for (a = 0; a < N * 2 + 1 - m * 2; a++)
printf("<H>\t");
printf("\n");
for (n = 0; n <= m; n++)
printf("\t");
for (a = 0; a < N * 2 + 1 - m * 2; a++)
printf("I I\t");
printf("\n");
}
return 0;
}