/*c++定义函数void sort(int a[],int n),用选择法对数组a中的元素升序排列。

/*c++定义函数void sort(int a[],int n),用选择法对数组a中的元素升序排列。
自定义main函数,并在其中调用sort函数
输入输出示例:
Input n:6
Input array of 6 interger:1 5 -9 2 4 -6
After sorted the array is:-9 -6 1 2 4 5
*/

第1个回答  2011-05-18
void sort(int a[ ],int n)
{
assert(a != NULL);

for(int i = 0 ; i <n-1;i++)
{
for(int j = n-1 ; j>0 ; j--)
{
if(a[j-1]>a[j])
{
int tmp;
tmp = a[j]; a[j]=a[j-1] ; a[j-1] = tmp;
}
}
}
}
以上代码没有调试运行,如有bug请自行解决。

2:
可以通过使用strlen函数来获取每个字符串的长度
int main()
{
int len;
int max = 0;
int max_index = 0;
char str[5][200];
for(int i= 0 ; i <5 ;i++)
{
scanf("%s",str[i]);
len = strlen(str[i]);

if(len > max)

}

printf("%s",str[max_index]);
}
以上代码没有调试运行,如有bug请自行解决。

3.
思路:
简单的来讲,
将输入的字符串保存至一个字符数组中,然后用指定的待删除字符和数组中的每一个元素进行比较,如果相同,就将该元素后面的元素统一都向前移一位,一便覆盖掉该元素。当遇见'\0'时则结束

看在我写这么多的份上,给点分吧
第2个回答  推荐于2016-09-19
#include<iostream>
using namespace std;
#include<stdio.h>
void sort(int a[], int n);
int main()
{
int *p;
int n,i;
printf("Input n:\n");
scanf("%d",&n);
printf("Input array of %d interger:\n",n);
p = new int[n];
for(i=0;i<n;i++)
{
scanf("%d",&p[i]);
}
sort(p,n);
printf("After sorted the array is:\n");
for(i=0;i<n;i++)
{
printf(" %d",p[i]);
}
delete p;
return 0;
}
void sort(int a[], int n)
{
int i, j;
int tmp;
for (i = 0; i < n; ++i)
{
for (j = 0; j < n-i-1; ++j)
{
if (a[j] > a[j+1])
{
tmp = a[j+1];
a[j+1] = a[j];
a[j] = tmp;
}
}
}

}本回答被提问者采纳
第3个回答  2011-05-17
void sort(int a[], int n)
{
int i, j;
int tmp;

for (i = 0; i < n; ++i)
{
for (j = 0; j < n-i-1; ++j)
{
if (a[j] > a[j+1])
{
tmp = a[j+1];
a[j+1] = a[j];
a[j] = tmp;
}
}
}

}
相似回答