使用C++,任意输入一串整数,按从小到大的顺序输出。 要程序

例如输入4,7,8,11,4,7,8输入2,99,11,8,92,8,9,11,99... 例如
输入4,7,8,1
1,4,7,8
输入2,99,11,8,9
2,8,9,11,99
展开
 我来答
985967518
推荐于2017-10-08 · 知道合伙人教育行家
985967518
知道合伙人教育行家
采纳数:18027 获赞数:109908
14年本科毕业于河南理工大学,至今就读于河南理工大学攻读硕士学位,从事编程学习已有5年。

向TA提问 私信TA
展开全部

用一个字符数组存储这一串整数,再利用而冒泡排序对字符数组从小到大排序,最后输出该字符数组。

//参考代码 
#include <iostream>  
#include<math.h> 
#include<string.h>
using namespace std;
int main()
{
char a[80],temp;
int len,i,j;
cin>>a;//输入整型串 
len = strlen(a);//求输入的整型串长度 
for (int i = 0; i <len ; i++){//冒泡排序 
for (int j = 0; j < len - i; j++)
     if(a[i]>a[i+j]){
     temp=a[i];
     a[i]=a[i+j];
     a[i+j]=temp;
     }
}
for(i=0;i<len;i++)//输出排序后的整型串 
cout<<a[i];
cout<<endl;
return 0;
}
/*运行结果: 
12131321548711191
11111111223345789
*/
zhoujiong1004
2013-03-14 · TA获得超过357个赞
知道小有建树答主
回答量:402
采纳率:100%
帮助的人:386万
展开全部
#include <stdio.h>
#include <stdlib.h>
void BuddleSort(int array[], int n);
void main()
{
int *a;
int i=0;
int temp=0;
char c;
int count=0;
a=(int*)malloc(sizeof(int));
printf("请输入整数,以回车结束\n");
while( scanf("%d",&temp))
{
a[i]=temp;
count++;
i++;
a=(int*)realloc(a,i*sizeof(int)+sizeof(int)); //再分配空间
c=getchar();
if(c=='\n')
break;
//用于记录输入多少个数
}
printf("\n排序前:\n");
for(i=0;i<count;i++)
printf("%3d",a[i]);
//开始排序
BuddleSort(a,count);
printf("\n排序后:\n");
for(i=0;i<count;i++)
printf("%3d",a[i]);
printf("\n");
}
void BuddleSort(int array[], int n)
{
int i, j;
bool flag = true;
for (i = 1; flag && i < n; i++)
{
flag = false;
for (j = 0; j < n - i; j++)
{
if (array[j] > array[ j + 1])
{
flag = true;
int temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
}
没注意到是C++,写了个C 的~~但是应该差不多,C++完全兼容C,你可以看看~~别忘了采纳哦~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qipilangfour
推荐于2017-09-07 · TA获得超过232个赞
知道小有建树答主
回答量:274
采纳率:0%
帮助的人:140万
展开全部
void my_sort(char* a)
{
int len = strlen(a);
int temp = 0;
for (int i = 0; i < len; ++i)
{
for (int j = i +1; j < len; ++j)
{
if (a[i] > a[j])
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
}
void main()
{
int i=0;
char a[10];
printf("Enter num:");
a[i]=getchar();
for(i=0;a[i]!='\n'; )
{
i++;
a[i]=getchar();
}
a[i]='\0';
my_sort(a);
int j = 0;
for (; j < strlen(a) - 1; ++j)
{
cout << a[j] << ",";
}
cout << a[j] << endl;
}

输入:3748309
输出:0,3,3,4,7,8,9
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式