c语言解决数学问题简单运用

用户输入一个正整数作为随机种子,根据这个随机种子,产生40个选择题的答案,也就是产生40个随机字母,每个字母是大写字母ABCD中的某一个。
(1) 务必用srand( )函数进行随机初始化。
输入
1到32767之间(含边界)的整数。
输出
40个选择题的答案,及统计数据。
输入
用户输入随机种子322。
322
输出
数字序号用两位数,不足两位前面填充0;数字之后是一个纯英文的点;之后是随机产生的答案,大写字母;再接下来是两个空格。每一组答案信息后都有两个空格,例如下面第一行的“05.A ”之后,也是有两个空格的。 打印5个答案信息后,产生一个换行。 40个答案信息都打印完毕后,打印统计数据。字母后面是纯英文的冒号,然后是保留两位小数的百分比,四组统计数据之间有三组空格,每组空格都是两个空格。

img


#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n, i, ch;
    int ans[4];
    scanf("%d", &n);
    srand(n);
    for(i = 0; i < 4; i++)
        ans[i] = 0;

    for(i = 1; i <= 40; i++)
    {
        ch = rand() % 4;
        ans[ch]++;
        printf("%02d.%c  ", i, ch + 'A');
        if(i % 5 == 0)
            printf("\n");
    }
    for ( i = 0; i < 4; ++i)
        printf("%c:%.2f%%  ", i + 'A', ans[i] * 100.0 / 40);

    return 0;
}