c语言编程题,急急急!

/*键盘输入一个高精度的正整数n(<=240),去掉其中任意s个数字后剩下的数字按原左右次序组成一个新的正整数。编程对给定的n和s,寻找一种方案,使得剩下的数字组成的新数... /*键盘输入一个高精度的正整数n(<=240),去掉其中任意s个数字后剩下的数字按原左右次序组成一个新的正整数。编程对给定的n和s,寻找一种方案,使得剩下
的数字组成的新数最大。*/
n的位数<=240
展开
 我来答
xgh024028
2014-06-05 · TA获得超过827个赞
知道小有建树答主
回答量:283
采纳率:71%
帮助的人:221万
展开全部
我用C++写的,只要把几个输入输出函数改一下,就跟C一样了

#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
void main()
{
char ary_num[240]={};
int n=0,s;
cout<<"请输入一个正整数(必须小于等于240位):";
gets(ary_num);
for(int i=0;ary_num[i]!=0;i++)
n++;
cout<<"这个数有多少位? n="<<n<<endl;
cout<<"想去掉其中多少个数字?(s必须小于n)s=";
cin>>s;
cout<<endl;
srand(clock());
for(int i=1;i<s;i++)
{//删掉任意s位数
int num_del=rand()%(n+1);
if(num_del!=n)
for(int j=num_del;j<n;j++)
ary_num[j]=ary_num[j+1];
else
;
n--;
}
for(int i=0;i<n;i++)
{//把剩余数字按从大到小排序
for(int j=i;j<n;j++)
if(ary_num[j]>ary_num[i])
{
char temp=ary_num[j];
ary_num[j]=ary_num[i];
ary_num[i]=temp;
}
}
ary_num[n-1]='\0';
cout<<"剩余数字组成最大整数为:";
puts(ary_num);
cout<<endl;
system("pause");
}
chenfenggang99
2014-06-04 · TA获得超过1850个赞
知道大有可为答主
回答量:1746
采纳率:75%
帮助的人:1723万
展开全部
n(<=240) 这个很大。。

我来说吧,不要看着是数字,,其实就是一堆字符
所以你可以
定义
char ss[300];
gets(ss); 在处理。。就行了。。。

整个程序都是字符来处理就行

http://zhidao.baidu.com/link?url=mfLr1kZIaWb662FYobICxPO3vXCdK03-SRwDyWeKJeO9UlxAaa-6tRkK8v46uER3NxVih-ARuScZ8i-1NphXiq
这里有一道相同的题目不过是求最小值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式