我用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");
}
温馨提示:内容为网友见解,仅供参考