溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C語言實現(xiàn)數(shù)字游戲的方法

發(fā)布時間:2021-04-17 15:10:34 來源:億速云 閱讀:210 作者:小新 欄目:編程語言

這篇文章主要介紹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ù)。

C語言實現(xiàn)數(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è)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI