在1到30之间产生7个不重复的随机数,然后从小到大排序,若产生的数只有个位,则在个位前添加0,如01

这个问题可以分为五个小问题。

1,随机数的产生。

2,控制随机数的范围。

3,保证产生的数不与前数相同。

4,对产生的数进行排序。

5,产生的数只有个位在前边添加0。

下面我们来看看代码、、c语言

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main ()
{
srand((int)time(0));
int i,b,j,t,num;
int a[7];
for(i=0;i<7;i++)
{
a[i]=(int)(rand()%30);//产生随机数 
 for(j=0;j<i;j++)
      {
        if(a[i]==a[j])//判断是否相同,相同i-- 
           {
             i--;
          }
       }
 }
for(i=0;i<7;i++)//进行排序 
{
     for(j=0;j<6-i;j++)
      {
        if(a[j]>a[j+1])
        {
              t=a[j];
             a[j]=a[j+1];
             a[j+1]=t;
         }
      }
}
  for(i=0;i<7;i++)
 {
printf("%0.2d\n",a[i]);//输出的数为两位,若是个位前边填零 
  }
return 0;
}


猜你喜欢

转载自blog.csdn.net/katol/article/details/78470249