c语言ASCII码排序 看看我的问题出在哪里 谢谢了

来源:百度知道 编辑:UC知道 时间:2024/06/30 23:56:32
#include "stdio.h"
void main()
{
char a[3],t;
int i,j ;
printf("please input three letter:");
for(i=0;i<3;i++);
scanf("%c",&a[i]);
printf("\n");
for(j=0;j<2;j++);
for(i=0;i<2-j;i++);
if(a[i]>a[i+1])
{t=a[i];a[i]=a[i+1];a[i+1]=t;}
printf("the output is:\n");
for(i=0;i<3;i++)
printf("%c ",a[i]);
printf("\n");
getch();
}
我用的是冒泡法 貌似是对的但是就是不对
大家帮我看看
还有就是如何只让输入3 个字母 意思是第四个不算

#include "stdio.h"
void main()
{
char a[3],t;
int i,j ;
printf("please input three letter:");
scanf("%3s",&a); //%3s表示只取前三个字符!
printf("\n");
for(j=0;j<2;j++);
for(i=0;i<2-j;i++);
if(a[i]>a[i+1])
{t=a[i];a[i]=a[i+1];a[i+1]=t;}
printf("the output is:\n");
for(i=0;i<3;i++)
printf("%c ",a[i]);
printf("\n");
getch();
}

冒泡排序:
void sort(int a[],int n)
{
int i,j,k;
for(i=0;i<n-1;i++){
----for(j=n-1;j>i;j--)
--------if(a[j]<a[j-1]){
---------------k=a[j];
---------------a[j]=a[j-1];
---------------a[j-1]=k;
--------}
}
}
============================================
如果是字符的比较,最好用下面方法:
#include <string.h>
strcmp()函数
-------------------------
#include "stdio