C语言实现数字游戏

 更新时间:2020年01月30日 09:06:35   作者:weixin_44252790  
这篇文章主要为大家详细介绍了C语言实现数字游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

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

问题描述 :

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

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

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

输入说明 :

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

输出说明 :

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

#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]='\0';
 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;
 }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • C++空类默认函数详细解析

    C++空类默认函数详细解析

    如果你只是声明一个空类,不做任何事情的话,编译器会自动为你生成一个默认构造函数、一个拷贝默认构造函数、一个默认拷贝赋值操作符和一个默认析构函数
    2013-10-10
  • C语言 实现N阶乘的程序代码

    C语言 实现N阶乘的程序代码

    本篇文章是对c语言中实现N阶乘的程序代码进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • 深入理解c++模板中的class与typename

    深入理解c++模板中的class与typename

    在c++Template中很多地方都用到了typename与class这两个关键字,而且好像可以替换,是不是这两个关键字完全一样呢?下面这篇文章主要给大家介绍了关于c++模板中class与typename的相关资料,需要的朋友可以参考下。
    2017-07-07
  • Objective-C不带加减号的方法实例

    Objective-C不带加减号的方法实例

    显而易见的事实是,Objective-C 中,+ 表示类方法,- 表示实例方法,这篇文章主要给大家介绍了关于Objective-C不带加减号的相关资料,需要的朋友可以参考下
    2021-06-06
  • c++学习之构造函数

    c++学习之构造函数

    类多么重要我就不多说了,只讲讲学习,因为个人认为类的学习无论从概念的理解还是实际代码的编写相对其他C兼容向的代码都是比较有难度的, 对于以前学C 的人来说这才是真正的新概念和内容,STL其实还比较好理解,不就是一个更大的函数库和代码可以使用嘛。
    2015-06-06
  • C++ 实现一个复数类的实例代码

    C++ 实现一个复数类的实例代码

    这篇文章主要介绍了C++ 实现一个复数类的实例代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • C语言实现简单电子通讯录(2)

    C语言实现简单电子通讯录(2)

    这篇文章主要为大家详细介绍了C语言实现简单电子通讯录的第二部分,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-06-06
  • C++ 输入scanf()和输出printf()的操作

    C++ 输入scanf()和输出printf()的操作

    这篇文章主要介绍了C++ 输入scanf()和输出printf()的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • 全面了解#pragma once与 #ifndef的区别

    全面了解#pragma once与 #ifndef的区别

    下面小编就为大家带来一篇全面了解#pragma once与 #ifndef的区别。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-08-08
  • C语言中的隐式函数声明

    C语言中的隐式函数声明

    在c语言里面开来还是要学习c++的编程习惯,使用函数之前一定要声明。不然,即使编译能通过,运行时也可能会出一些莫名其妙的问题。
    2016-01-01

最新评论