您好,登錄后才能下訂單哦!
這篇文章主要介紹C語言實現(xiàn)數(shù)字游戲的方法,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
具體內容如下
問題描述 :
現(xiàn)在,有許多給小孩子玩的數(shù)字游戲,這些游戲玩起來簡單,但要創(chuàng)造一個就不是那么容易的了。 在這,我們將介紹一種有趣的游戲。
你將會得到N個正整數(shù),你可以將一個整數(shù)接在另一個整數(shù)之后以制造一個更大的整數(shù)。 例如,這有4個數(shù)字123, 124, 56, 90,他們可以制造下列整數(shù)─ 1231245690, 1241235690, 5612312490, 9012312456, 9056124123…等,總共可以組合出24(4!)種數(shù)字。 但是,9056124123是最大的那一個。
你可能會想這是個簡單的事情,但對剛有數(shù)字概念小孩來說,這會是個簡單的任務嗎?
輸入說明 :
輸入含有多組測試數(shù)據(jù)。
每組測試資料兩行,第一行為一個正整數(shù)N(N<= 50),第二行將有N 個正整數(shù)。
當N=0代表輸入結束。
輸出說明 :
對每一組測試數(shù)據(jù),輸出一行,輸出利用這N個整數(shù)可結合成的最大整數(shù)。
#include<stdio.h> #include<string.h> #include<stdlib.h> char a[51][1000];//輸入的數(shù)用全局變量來操作,和他之后的數(shù)一個一個去比較,交換位置 int cmp(int x,int y){ char b[1000],c[1000],str[1000]; int i,num1,num2; strcpy(b,a[x]); strcpy(c,a[y]); num1=strlen(a[x]);//數(shù)的長度 num2=strlen(a[y]); //字符串拼接 for(i=num1;i<=num1+num2;i++) b[i]=c[i-num1]; for(i=num2;i<num1+num2;i++) c[i]=b[i-num2]; c[i]='\0'; return strcmp(b,c);//看a[i]a[j]大還是a[j]a[i]的數(shù)比較大 } int main(){ int n,i,j; while(scanf("%d",&n)!=EOF){ for(i=0;i<n;i++) scanf("%s",a[i]); char temp[1000]; for(i=0;i<n-1;i++){ for(j=i+1;j<n;j++){ if(cmp(i,j)<0){//交換位置 strcpy(temp,a[i]); strcpy(a[i],a[j]); strcpy(a[j],temp); } } } for(i=0;i<n;i++) printf("%s",a[i]); printf("\n"); } return 0; }
以上是“C語言實現(xiàn)數(shù)字游戲的方法”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業(yè)資訊頻道!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。