C语言实现数字游戏分享!

本文实例为大家分享了C语言数字游戏的具体代码,供大家参考,具体内容如下

问题描述 :

现在,有许多给小孩子玩的数字游戏,这些游戏玩起来简单,但要创造一个就不是那么容易的了。 在这,我们将介绍一种有趣的游戏。

你将会得到N个正整数,你可以将一个整数接在另一个整数之后以制造一个更大的整数。 例如,这有4个数字123, 124, 56, 90,他们可以制造下列整数─ 1231245690, 1241235690, 5612312490, 9012312456, 9056124123…等,总共可以组合出24(4!)种数字。 但是,9056124123是最大的那一个。

你可能会想这是个简单的事情,但对刚有数字概念小孩来说,这会是个简单的任务吗?

输入说明 :

输入含有多组测试数据。
每组测试资料两行,第一行为一个正整数N(N<= 50),第二行将有N 个正整数。
当N=0代表输入结束。

输出说明 :

对每一组测试数据,输出一行,输出利用这N个整数可结合成的最大整数。

C语言实现数字游戏

  #include<stdio.h>  #include<string.h>  #include<stdlib.h>  char a[51][1000];//输入的数用全局变量来操作,和他之后的数一个一个去比较,交换位置   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]);//数的长度    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]='';   return strcmp(b,c);//看a[i]a[j]大还是a[j]a[i]的数比较大    }    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;   }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持<计算机技术网(www.ctvol.com)!!>。

—-想了解C语言实现数字游戏分享!全部内容且更多的C语言教程关注<计算机技术网(www.ctvol.com)!!>

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/483625.html

(0)
上一篇 2020年11月10日
下一篇 2020年11月10日

精彩推荐