| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 539 人关注过本帖
标题:纠结纠结,十分之纠结
只看楼主 加入收藏
zhang6728030
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2010-10-13
结帖率:33.33%
收藏
已结贴  问题点数:10 回复次数:8 
纠结纠结,十分之纠结
随机产生20个【10,50】的正整数存放到数组中,并求数组所有元素的最大值,最小值,和所有有元素之合??

程序如下,但为什么a[i]的数有的大于50和小于0的出现??各位大哥大姐们,谢谢了
#include <stdlib.h>
#include <conio.h>
void main()
{
    int a[21];
    int i = 0;
    int ran = 0;
    int sum = 0;
    int max = 0;
    int min = 0;
    int average = 0;
   
    clrscr();
    for(i = 1; i <= 20; i++)
    {
        randomize();
        while((ran = random(51)) / 10 == 0)
        a[i] = ran;

    }
    max = min = a[1];
    sum = 0;
    for(i = 1; i <= 20; i++)
    {
        printf("a[%d] = %d\n" , i , a[i]);
        sum += a[i];
        if(max < a[i])
        max = a[i];
        else if(min > a[i])
        min = a[i];
    }
    average = sum / 20;
    printf("\nsum = %d , max = %d , min = %d , average = %d \n" , sum , max , min , average);
    puts("\nany key to exit!");
    getche();   
}
搜索更多相关主题的帖子: 纠结 
2010-12-19 20:29
a343637412
Rank: 7Rank: 7Rank: 7
来 自:そ ら
等 级:黑侠
帖 子:357
专家分:620
注 册:2010-9-26
收藏
得分:0 
当然了....


你在取随机数的时候 记得再加一个if语句判断...


  我没看你的代码...  或许有错  包涵...
2010-12-19 20:33
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:10 
程序代码:
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
void main()
{
    int a[20];
    int i = 0;
    int ran = 0;
    int sum = 0;
    int max = 0;
    int min = 0;
    int average = 0;
  
    //clrscr();
    for(i = 0; i <= 20; i++)
    {
        //randomize();
        while(true)
        {
            ran=rand()%50;
            if (ran>10)
            {
                a[i]=ran;
                break;
            }
        }
    }
    max = min = a[0];
    sum = 0;
    for(i = 0; i <= 20; i++)
    {
        printf("a[%d] = %d\n" , i , a[i]);
        sum += a[i];
        if(max < a[i])
        max = a[i];
        else if(min > a[i])
        min = a[i];
    }
    average = sum / 20;
    printf("\nsum = %d , max = %d , min = %d , average = %d \n" , sum , max , min , average);
    puts("\nany key to exit!");
    getche();  
} 
好了

                                         
===========深入<----------------->浅出============
2010-12-19 20:54
zhang6728030
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2010-10-13
收藏
得分:0 
回复 3楼 laoyang103
太感谢了,嘻嘻
但是不知道什么原因,我的while(1)需要加1,ture 运行不出来
2010-12-19 21:16
freedgun
Rank: 5Rank: 5
等 级:职业侠客
帖 子:147
专家分:302
注 册:2010-11-11
收藏
得分:0 
好了,还不快给人家给分

有什么样的付出,就有什么样的收获!!
2010-12-19 22:03
freedgun
Rank: 5Rank: 5
等 级:职业侠客
帖 子:147
专家分:302
注 册:2010-11-11
收藏
得分:0 
回复 3楼 laoyang103
这每次运行的随机数都一样,有什么办法让每次都不一样吗?

有什么样的付出,就有什么样的收获!!
2010-12-19 22:24
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
你的英文单词写错了.........应该是 TRUE

                                         
===========深入<----------------->浅出============
2010-12-20 10:35
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
回复 6楼 freedgun
程序代码:
#include<stdio.h>
#include <time.h>
#include <stdlib.h>
void main()
{
    srand(time(NULL));
    int a[10];
    for (int i=0;i<10;i++)
    {
        a[i]=rand()%10;
        printf("%d ",a[i]);
    }
}
去试试

                                         
===========深入<----------------->浅出============
2010-12-20 10:38
ququguoguo
Rank: 2
等 级:论坛游民
帖 子:73
专家分:90
注 册:2010-10-20
收藏
得分:0 
我是来围观的
2010-12-20 10:38
快速回复:纠结纠结,十分之纠结
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.038004 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved