7 您所在的位置:网站首页 随机选择题答案 7

7

2024-05-29 20:11| 来源: 网络整理| 查看: 265

分数 20

全屏浏览题目

切换布局

作者 周永

单位 西南石油大学

用户输入一个正整数作为随机种子,根据这个随机种子,产生40个选择题的答案,也就是产生40个随机字母,每个字母是大写字母ABCD中的某一个。提醒:

(1) 务必用srand( )函数进行随机初始化。

(2)你在Windows下的运行结果,和Linux服务器上的运行结果,是不一致的。因此,在本地只管确保程序调试通过,能输出相应格式的信息后,提交代码在服务器上验证。

输入格式:

1到32767之间(含边界)的整数。

输出格式:

40个选择题的答案,及统计数据。

输入样例:

用户输入随机种子322。

322 输出样例:

数字序号用两位数,不足两位前面填充0;数字之后是一个纯英文的点;之后是随机产生的答案,大写字母;再接下来是两个空格。每一组答案信息后都有两个空格,例如下面第一行的“05.A ”之后,也是有两个空格的。打印5个答案信息后,产生一个换行。 40个答案信息都打印完毕后,打印统计数据。字母后面是纯英文的冒号,然后是保留两位小数的百分比,四组统计数据之间有三组空格,每组空格都是两个空格。

01.A 02.C 03.A 04.C 05.A 06.D 07.A 08.B 09.B 10.C 11.C 12.C 13.A 14.D 15.D 16.C 17.C 18.D 19.B 20.C 21.C 22.A 23.A 24.B 25.C 26.A 27.C 28.C 29.C 30.B 31.A 32.D 33.D 34.A 35.B 36.D 37.D 38.B 39.A 40.A A:30.00% B:17.50% C:32.50% D:20.00% #include #include int main(){ int n,i; double a=0,b=0,c=0,d=0; int arr[40]; scanf("%d",&n); srand(n); for(i = 0 ; i < 40 ; i++ ){ arr[i] = rand() % 4+65; } //判断 A,B,C,D for(int j = 0;j < 40; j++){ if(arr[j] == 65){ a++; } else if(arr[j] == 66){ b++; } else if(arr[j] == 67){ c++; } else{ d++; } } // printf("%lf %lf %lf %lf\n",a,b,c,d); //判断每行个数 达到5个就换行 for (int k = 0; k < 40; k++){ if(k % 5 == 0 && k != 0){ printf("\n"); } printf("%02d.%c ",k+1,arr[k]); } printf("\n"); printf("A:%.2lf%% B:%.2lf%% C:%.2lf%% D:%.2lf%%",a/40*100,b/40*100,c/40*100,d/40*100); return 0; }

rand()函数需要的头文件是:

 rand()会返回一个范围在0到RAND_MAX(至少是32767)之间的伪随机数(整数)

在调用rand()函数之前,可以使用srand()函数设置随机数种子,如果没有设置随机数种子,rand()函数在调用时,自动设计随机数种子为1。随机种子相同,每次产生的随机数也会相同

一般性:rand() % (b-a+1)+ a ;    就表示  a~b 之间的一个随机整数

使用rand()产生1-100以内的随机整数

int number1 = rand() % 100+1;

另附参考链接:C++中rand()函数的用法_风暴计划的博客-CSDN博客_c++ rand()



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有