国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

求最大數(shù)

2019-11-17 05:33:05
字體:
供稿:網(wǎng)友
一 問題描述
設(shè)有n個正整數(shù)(n<=20),將它們聯(lián)成一排,組成一個最大的多位數(shù)。程序輸入:n,程序輸出:n個數(shù)連接成的多位數(shù)。二 問題分析
可以將問題這樣變化一下:
  比如我輸入的是  123 2 33 1006 12這樣幾個數(shù)字
我先找出最大的數(shù)字的位數(shù)為四位,再將所有的數(shù)字變成四位數(shù):
    1230 2000 3300 1006 1200 
 然后進行排序 
    3300 2000 1230 1200 1006
 這樣將后面加上的0去掉的序列不就是最大數(shù)字嗎?
    于是最大數(shù)字就是
    332123121006
因為以下程序用的INT的類型所以只在-32728~32727間有效,假如想要更大范圍須改成long類型 三 C程序#define MAXSIZE 100
#include<stdio.h>
int max(int a[],int i) /*判定出最大數(shù)字的位數(shù)*/
{int m;
 int size();
 m=a[i];
  for(;i>=0;i--)
  if(a[i]>m)
  m=a[i];
 return(size(m));
}int size(int interger)  /*判定出這個要組合數(shù)字的位數(shù)*/
{
   if(interger>10000)
     return 5;
  else if(interger>1000)
    return 4;
  else if(interger>100)
   return 3;
 else if(interger>10)
   return 2;
 else
  return 1;
}int change(int i ,int maxsize)  /*將本數(shù)字變成和最大數(shù)相同位數(shù)的數(shù)字*/
{
  int size();
  switch(maxsize-size(i))
    {case 0:break;
     case 1:i=i*10;break;
     case 2:i=i*100;break;
     case 3:i=i*1000;break;
     case 4:i=i*10000;break;
     default:    }
  return i;
}main()
{
 int a[MAXSIZE],b[MAXSIZE],i,j,count,temp,s;
  printf("Please input some intergers and input -1 to finish/n/n");
 for(i=0;i<MAXSIZE;i++)
   {
      scanf("%d",&a[i]);
      if(a[i]<0)
         break;
   }
count=i-1;
s=max(a,count);
for(i=count;i>=0;i--)
    b[i]=change(a[i],s);
for(j=0;j<=count-1;j++)  /*用冒泡法對變化數(shù)排序,其實本質(zhì)是在對原組合數(shù)字進行排序*/
  for(i=0;i<=count-1;i++)
   {
       if(b[i]<b[i+1])
         {
            temp=a[i];
            a[i]=a[i+1];
            a[i+1]=temp;
     temp=b[i];
            b[i]=b[i+1];
    b[i+1]=temp;
         }
   }
printf("max interger =");
for(i=0;i<=count;i++)
   printf("%d",a[i]);
}
 
四 實驗結(jié)果輸入:56 2 1        輸出:5621輸入:21 35 2      輸出:35221


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 西充县| 喜德县| 安岳县| 漾濞| 微山县| 德保县| 长泰县| 柳江县| 陈巴尔虎旗| 龙南县| 江北区| 浦东新区| 中牟县| 黄石市| 丹棱县| 新乡县| 来安县| 察隅县| 抚顺县| 神池县| 定襄县| 彭山县| 灵石县| 柳林县| 兴国县| 霍林郭勒市| 绥滨县| 韶山市| 临猗县| 华池县| 繁昌县| 晋江市| 鄂尔多斯市| 黑水县| 武平县| 古丈县| 尼玛县| 祥云县| 本溪市| 且末县| 七台河市|