c语言 产生1~100随机数,输入一个数字,和第x个随机数一致的话,计算1~x个随机数的和
来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/07/29 04:30:51
c语言 产生1~100随机数,输入一个数字,和第x个随机数一致的话,计算1~x个随机数的和
如题,产生1~100随机数,然后用键盘随机输入一个数字,和产生的第x个随机数一致的话,计算1~x个随机数的和
产生1~100随机数的程序已经写完了
#include
#include
#include
void main(void)
{
int i; srand((unsigned) time(NULL));
for(i=0; i
如题,产生1~100随机数,然后用键盘随机输入一个数字,和产生的第x个随机数一致的话,计算1~x个随机数的和
产生1~100随机数的程序已经写完了
#include
#include
#include
void main(void)
{
int i; srand((unsigned) time(NULL));
for(i=0; i
#include<stdio.h>\
#include<stdlib.h>
#include<time.h>
main()
{
int i, a[50], n, sum = 0;
srand((unsigned) time(NULL));
for(i=0; i<50; i++){
a[i] = rand()%100+1; // 要将这些随机数保存起来
printf("%3d", a[i]);
}
printf("\n");
// 输入一个数
scanf("%d", &n);
// 和产生的随机数进行比较,直到遇到相等的结束
for(i = 0; i < 50 && n != a[i]; i++);
if(n == a[i]) // 有相等的
{
printf("第1到第%d个随机数的和是:", i+1);
while(i >= 0)
sum += a[i--];
printf("%d\n", sum);
}
else printf("没有与%d一致的随机数\n", n);
}
再问: 谢谢
但是运行了下 说
15行 for(i = 0; i < 50 && n != a[i]; i++); for附近
有错误
怎么改一下比较好呢?
再答: 是编译时报的错吗?
看看for语句后面的分号没少吧?或者前面少分号?将错误的详细信息描述一下。
我编译运行都正常
再问: 我貌似题目没描述清楚
题目要求的是无限生成1~100之间的数(不用显示),然后输入一个数,和随机数第x个一致的话,去计算1~x的和,所以不会出现没有数的情况
再答: 不可能是无限生成,内存不是无限的,只能改为先输入一个数,然后再循环生成随机数,直到等于之前输入的数为止
main()
{
int i=1, a, n, sum = 0;
// 先输入一个数
scanf("%d", &n);
// 和产生的随机数进行比较,直到遇到相等的结束
srand((unsigned) time(NULL));
do {
a = rand()%100+1;
sum += a;
i++;
} while(a != n);
printf("第1到第%d个随机数的和是:%d\n", i, sum);
}
再问: 谢谢,就是这样,还有个小问题,如何让他可以不直接结束,可以多次输入结果,
然后在那个黑色的运行框里按ctrl+z结束?
貌似按ctrl+z结束的语句貌似是 while(scanf("%d",&n)!=EOF){
再答: 这样改也可以:
main()
{
int i, a, n, sum;
srand((unsigned) time(NULL));
while(scanf("%d", &n) == 1) {
i = 1;
sum = 0;
do {
a = rand()%100+1;
sum += a;
i++;
} while(a != n);
printf("第1到第%d个随机数的和是:%d\n", i, sum);
}
}
#include<stdlib.h>
#include<time.h>
main()
{
int i, a[50], n, sum = 0;
srand((unsigned) time(NULL));
for(i=0; i<50; i++){
a[i] = rand()%100+1; // 要将这些随机数保存起来
printf("%3d", a[i]);
}
printf("\n");
// 输入一个数
scanf("%d", &n);
// 和产生的随机数进行比较,直到遇到相等的结束
for(i = 0; i < 50 && n != a[i]; i++);
if(n == a[i]) // 有相等的
{
printf("第1到第%d个随机数的和是:", i+1);
while(i >= 0)
sum += a[i--];
printf("%d\n", sum);
}
else printf("没有与%d一致的随机数\n", n);
}
再问: 谢谢
但是运行了下 说
15行 for(i = 0; i < 50 && n != a[i]; i++); for附近
有错误
怎么改一下比较好呢?
再答: 是编译时报的错吗?
看看for语句后面的分号没少吧?或者前面少分号?将错误的详细信息描述一下。
我编译运行都正常
再问: 我貌似题目没描述清楚
题目要求的是无限生成1~100之间的数(不用显示),然后输入一个数,和随机数第x个一致的话,去计算1~x的和,所以不会出现没有数的情况
再答: 不可能是无限生成,内存不是无限的,只能改为先输入一个数,然后再循环生成随机数,直到等于之前输入的数为止
main()
{
int i=1, a, n, sum = 0;
// 先输入一个数
scanf("%d", &n);
// 和产生的随机数进行比较,直到遇到相等的结束
srand((unsigned) time(NULL));
do {
a = rand()%100+1;
sum += a;
i++;
} while(a != n);
printf("第1到第%d个随机数的和是:%d\n", i, sum);
}
再问: 谢谢,就是这样,还有个小问题,如何让他可以不直接结束,可以多次输入结果,
然后在那个黑色的运行框里按ctrl+z结束?
貌似按ctrl+z结束的语句貌似是 while(scanf("%d",&n)!=EOF){
再答: 这样改也可以:
main()
{
int i, a, n, sum;
srand((unsigned) time(NULL));
while(scanf("%d", &n) == 1) {
i = 1;
sum = 0;
do {
a = rand()%100+1;
sum += a;
i++;
} while(a != n);
printf("第1到第%d个随机数的和是:%d\n", i, sum);
}
}
c语言 产生1~100随机数,输入一个数字,和第x个随机数一致的话,计算1~x个随机数的和
C语言如何srand和rand函数产生10个1-100内的随机数
用C语言产生1到n的随机数 要求:输入人数可以得到随机数
C语言产生(1,28)中的5个随机数
C语言产生1-13的随机数
c语言 产生一个1~50的随机数
C语言 产生十个随机数,然后任意计算一个数字产生随机的次数!
C语言或者C++,统计产生的100个随机数中(0,16838) 和(16839,32767)区中的比例
用C语言编程序:产生1到5间的10个随机数
c语言怎么产生随机数(1~6)
c语言 编写产生100个1到10范围内的随机数的程序,并且以降序排序
matlab或者C语言产生(1,28)中的5个随机数