8.11写一函数,用起泡法对输入的10个字符按由小到大顺序排列2008-01-08 16:45/*运行结果为:
请输入1个字符串:
chinsungle
排序后字符串为:ceghilnnsu.
*/
#include <stdio.h>
#include <string.h>
#define N 10
void sort(char str[])
{
int i,j,t;
for(i=1;i<N;i++)//总共进行N-1次冒泡运算
for(j=0;j<N-i;j++)//第一次N-1个回合,第二次N-2个回合,最后一次即第N-1次一个回合
if(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 <stdio.h>
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 <stdio.h>
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--)
{printf直接输出数字
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");
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论