.编写fun()函数,对长度为N的字符串中的N个元素进行从大到小冒泡排序。 在main()函数输入输出

 我来答
百度网友465fc5d
2013-06-03
知道答主
回答量:16
采纳率:0%
帮助的人:7.7万
展开全部
int fun(int a[n])
{
int i,j,k;
for(i=0;i<n;i++)
{
for(j=i;j<n;j++)
{
if(a[i]<a[j])
{
k=a[i];a[i]=a[j];a[j]=a[i];
}
}
void main()
{
int i,j,k;
int N=10,a[N];
for(i=0;i<N;i++)
scanf("%d",&a[i]);
k=fun(a[N]);
for(i=0;i<N;i++)
printf("%d",a[i]);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Soucula
2013-06-04 · TA获得超过3093个赞
知道小有建树答主
回答量:744
采纳率:93%
帮助的人:134万
展开全部
#include <stdio.h>
#include <string.h>

void fun(char str[])
{
int i,j;
bool exchanged = true; //表示当前趟比较是否发生或数据交换
for ( i = strlen(str) - 1; i > 0 && exchanged; i--)
{
exchanged = false;
for (j = 0; j < i; j++)
{
if (str[j] < str[j + 1]) //若前面的数比后面的数小则进行交换保证降序排列
{
exchanged = true;
str[j] = str[j] + str[j + 1];
str[j + 1] = str[j] - str[j + 1];
str[j] = str[j] - str[j + 1];
}
}
}
}

#define N 10 //N的数字您可以自设,此处假设为10
void main()
{
char str[N + 1];
strcpy(str, "1234567890"); //设置一个N个字符的字符串,此处也可以改为
//scanf("%s",str);用于接收字符串
fun(str);
printf("%s",str);
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式