#include"stdio.h"
#include "string.h"
void main()
{
int i,j,n;
char t;
char c[100];
n=strlen(c);
printf("请?输?入?一?个?字?符?串?:阰");
gets(c);
n=strlen(c);
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
{
if(c[j]>c[j+1])
{
t=c[j];c[j]=c[j+1];c[j+1]=t;
}
}
}
printf("排?序ò后ó的?字?符?串?为a:");
puts(c);
}

用起泡法和选择法怎么将字符串按ascll码值从小到大排列啊
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 树下等苹果 2022-05-20 23:20关注
起泡法就是你写的那个,选择排序法如下:
#include"stdio.h" #include "string.h" void main() { int i, j, n; char t; char c[100]; printf("请输入一个字符串:"); gets(c); n = strlen(c); //for (i = 0; i < n - 1; i++) //冒泡排序 //{ // for (j = 0; j < n - 1 - i; j++) // { // if (c[j] > c[j + 1]) // { // t = c[j]; c[j] = c[j + 1]; c[j + 1] = t; // } // } //} for (i = 0; i < n - 1; i++) //选择排序 for (j = i + 1; j < n; j++) if (c[i] > c[j]) { t = c[j]; c[j] = c[i]; c[i] = t; } printf("排序后的字符串为a:"); puts(c); }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 10无用