用“起泡法”对输入的10个数字按由小到大顺序排列

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

8.11写一函数,用起泡法对输入的10个字符按由小到大顺序排列2008-01-08 16:45/*运行结果为:
请输入1个字符串:
chinsungle
排序后字符串为:ceghilnnsu.
*/
#include
#include
#define N 10
void sort(char str[])
{
int i,j,t;
for(i=1;ifor(j=0;jif(str[j]>str[j+1])
{
t=str[j];
str[j]=str[j+1];
str[j+1]=t;
}
}

main()
{
char str[100];
do
{
printf("请输入1个字符串:\n");
scanf("%s",str);
}
while(strlen(str)!=10);
sort(str);
printf("排序后字符串为:%s.\n",str);
}


#include
void main()
{
int a[10];
int i,j,temp;
printf("请输入10个数:");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
for(j=i+1;j<10;j++)
if(a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
for(i=0;i<10;i++)
printf("%d\t",a[i]);
}



#include

void main()
{
int i, j, temp;
int element[10];
int *start, *end;
printf("\n请输入10个数:\n ");
for(i = 0;i < 10;i++)
{

scanf("%d", &element[i]);
}

start = element; /* start 指针指向数组的第一个元素 */
end = element + 10; /* end 指针指向数组的最后一个元素 */
printf("\n原始数组:\n");

/* 输出原始数组 */
for(;start < end;start++)
{
printf("%d ", *start);
}

printf("\n\n排序后的数组:\n");

/* 输出排序后的数组 */
start=element;
for(i = 10;i > 0;i--)
{
for(j = 10 - i;j > 0;j--)
{
if(*(start + j-1) > *(start+j))
{
temp = *(start + j-1);
*(start + j-1) = *(start+j);
*(start+j) = temp;
}
}
}

for(start = element;start < end;start++)
{
printf("%d ", *start);
}
printf("\n");
}

相关文档
最新文档