| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 858 人关注过本帖
标题:[求助]C语言设计:组数游戏
只看楼主 加入收藏
qy618876
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-7-14
收藏
 问题点数:0 回复次数:6 
[求助]C语言设计:组数游戏
[要求]
设有n个数(n<=20),将它们联成一排,组成一个最大的多位数.程序输入:n,程序输出:个联接成的多位数.
[提示]
以下是设计思路:
可以将问题这样变化一下:
比如我输入的是 123 2 33 1006 12 这样几个数字
我首先找出最大的数字的位数为四位,再将所有得数字变成四位数:
1230 2000 3300 1006 1200
然后进行排序
3300 2000 1230 1200 1006
这样将后面加上的0去掉的序列不就是最大数字吗?
于是最大数字就是
332123121006
搜索更多相关主题的帖子: C语言 游戏 数字 位数 
2007-07-14 20:52
酒肉弥勒佛
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:399
专家分:0
注 册:2006-6-6
收藏
得分:0 
struct number
{
char old[10];
char new[10];
int n;
};

int main()
{
struct number a[5];
int n[5]={123,2,33,1006,12};
char tmp[10];
int size=5,i,len=0,j,temp;

for(i=0;i<size;i++)
{
sprintf(a[i].old,"%d\0",n[i]);
if(strlen(a[i].old)>len)
len=strlen(a[i].old);
}

for(i=0;i<size;i++)
{
sprintf(a[i].new,"%s\0",a[i].old);
for(j=0;j<len-strlen(a[i].old);j++)
{
strcat(a[i].new,"0\0");
}
a[i].n=atoi(a[i].new);
}

for(i=0;i<size;i++)
{
;// printf("%s\n",a[i].new);
}

for(i=0;i<size-1;i++)
{
for(j=i;j<size;j++)
{
if(a[i].n<a[j].n)
{
temp=a[j].n;
a[j].n=a[i].n;
a[i].n=temp;

strcpy(tmp,a[j].old);
strcpy(a[j].old,a[i].old);
strcpy(a[i].old,tmp);
}
}


}

for(i=0;i<size;i++)
{
printf("%s",a[i].old);
}
}


编程是为了提高效率,好的程序是因为他的高效;在编程的道路上,永远追逐高效的算法
2007-07-14 23:51
taiwai1234
Rank: 1
来 自:原始森林神农架
等 级:新手上路
帖 子:64
专家分:0
注 册:2007-6-25
收藏
得分:0 
牛啊

逍遥自在,一生无求!
2007-07-15 00:23
leeco
Rank: 4
等 级:贵宾
威 望:10
帖 子:1029
专家分:177
注 册:2007-5-10
收藏
得分:0 

使用STL可以简单的多


#include <iostream>
#include <vector>
#include <string>
#include <iterator>
#include <algorithm>
#include <functional>
using namespace std;

int main()
{
typedef vector<string> vec_str;
typedef istream_iterator<string> istream_itr;
typedef ostream_iterator<string> ostream_itr;
typedef back_insert_iterator<vec_str> back_ins_itr;
vec_str arr;
copy(istream_itr(cin), istream_itr(), back_ins_itr(arr));
sort(arr.begin(), arr.end(),greater<string>());
copy(arr.begin(), arr.end(), ostream_itr(cout, \"\"));
cout<<endl;
}

2007-07-15 01:24
酒肉弥勒佛
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:399
专家分:0
注 册:2006-6-6
收藏
得分:0 
好像C里面没有吧

编程是为了提高效率,好的程序是因为他的高效;在编程的道路上,永远追逐高效的算法
2007-07-15 03:23
qy618876
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-7-14
收藏
得分:0 

好强啊!太谢谢你啦!

2007-07-15 16:21
caishuzhou
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-7-15
收藏
得分:0 
多谢了!!!
2007-07-15 17:17
快速回复:[求助]C语言设计:组数游戏
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019764 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved