Mister-小方


私信TA

用户名:1104986125

访问量:238605

签 名:

如此英俊为哪般

等  级
排  名 3
经  验 35659
参赛次数 1
文章发表 68
年  龄 19
在职情况 学生
学  校 大连交通大学
专  业 车辆工程

  自我简介:

解题思路:

1.主要看清楚题目的意思,我感觉不是要我们去用计算机的随机数,而是去掉重复的数并排序。

2.输入,排除不在范围内的数。

3.去除重复的数。

3.排序。

4.输出


实例代码:

#include <stdio.h> 
int main()
{
    int number=1,stu[1000],n;//number要采访的学生数量
    int i,j,temp;
    scanf("%d",&n);          //输入生成的随机数的个数
    for( i=0;i<n;i++)
    {
        scanf("%d",&stu[i]); //随机输入数字,1~1000;
        if(stu[i]<=0&&stu[i]>1000)//排除掉不是属于1到1000的
            i--;
    }  
    for(i=1;i<n;i++)         //取具有不同的数字 
    { 
        for( j=0;j<number;j++)//开始number为1,后面没成功存一个不重复的数,number++
            if(stu[j]==stu[i])//重复取1个
                break;
        if(j==number) //上面的判断执行完全,表示没有重复,就赋值
            stu[number++]=stu[i];
    }  
    printf("%d\n",number);
    for(i=1;i<number;i++)    //采用插入法排序
    {  
        temp=stu[i];
        for(j=i-1;j>=0&&temp<stu[j];j--) 
            stu[j+1]=stu[j];
        stu[j+1]=temp;
    }
    for(i=0;i<number;i++)
        printf("%d ",stu[i]);
    return 0; 
}

看看大家还有什么不懂的,请在下方评论区留言

 

0.0分

4 人评分

  评论区

写的很好,去重和那个输入的控制写得很好很好
2018-12-14 20:09:38
他先用 计算机生成了N个1到1000之间的随机整数
输入是符合条件的不用判断233333
2017-08-02 20:09:44
  • «
  • 1
  • »