1樓:闊氣剋剋
c語言的英文字母都是以ascii碼儲存的,每個字元相當於一個整型,所以是可以直接比較的,具體可以查閱每個字元對應的數字是多少,需要記住的就是從'a'到'z'是連續遞增的,就是說'a'+1='b',依次類推。從'a'到'z'也是連續遞增的,並且所有的大寫字元都大於小寫字元,但是'z'+1並不是'a',記住這些一般的應用就足夠了。
2樓:匿名使用者
建立陣列用於接收需要排序的字母;
用氣泡排序法直接比較,如:a
3樓:匿名使用者
ascii碼比大小
字元在c語言中 就是一個非負整數
參考 ascii碼錶
c語言字母排序問題
4樓:
很有意思題……今天太晚了,明天給你做吧
btw,樓主是哪個學校的,現在國外大學這樣學c的好像不多了...
5樓:雨過天晴日丶
#include
#include/*string包含gets,puts,strlen函式*/
void main()
}puts(n);/*輸出排序後的字元陣列n*/}在vc++6.0執行了下,可以。
6樓:星雨新痕
#include
#include
typedef struct table alphabet_t;
alphabet_t alphabet[26];
//字元表,輸入的字元按出現的順序依次標記為1.2.3……,沒出現的標記為0
int main()
char str[128]=;
printf("please input the string\n");
scanf("%s",str);
printf("the string you inputted is \"%s\"\n",str);
int no;
no=1;
for(i=0;i='a')
if(alphabet[str[i]-'a'].index==0)
if(str[i]<='z'&&str[i]>='a')
if(alphabet[str[i]-'a'].index==0)
}char ch;
ch='a';
for(i=0;i<26;i++) //輸出參照行
printf("%c ",ch+i);
printf("\n");
no=1;
while(1) //把字元表中不為0的字元按index的大小依次輸出
} if(ch == 0) //說明剩下的都是index為0的字元了
break;
no++;
}for(i=0;i<26;i++) //把字元表中剩餘的字元依次輸出(index為0的)
if(alphabet[i].index == 0)
printf("%c ",alphabet[i].ch);
printf("\n");
return 0;}
c語言 怎樣將一個英語單詞的字母按字典順序排序
7樓:偏執的it工匠
其實和一組數字排序是一樣的道理
用冒泡法給你寫個例子,你可以參考參考。
#include
#include
main()}}
printf("%s\n",a);}
c語言,一個字串按字母排序?????
8樓:
排序演算法有問題,而且,你最好確定一下你輸入字串的長度:
#include
#include
void main()
puts(c);}
9樓:匿名使用者
#include
#include
void main()
puts(c);
}氣泡排序有問題。
10樓:匿名使用者
這麼寫與外層i的迴圈有什麼關係?
c語言將輸入的英文名字排序
11樓:匿名使用者
#include
#include
int main()}}
for (i=0;i return 0;} 12樓:沒名行不 取字串第一個位元組進行排序 文文的鵬鵬 lz的排序方法是錯誤的。比如,輸入8 6 12 0,按照lz的演算法,最終的排序結果是6 8 12 0。lz的演算法只能保證每相鄰的兩個數小在前大在後,但整體結果並不是這樣,所以排序還是要雙重迴圈的。 排序方法挺多的,各有各的優缺點的,有些人只是習慣了用某一個而已。 哈哈,可以用選擇排序... 大野瘦子 include define m 5 void main int b m i,j,t,k for i 0 iscanf d b i for i 0 ifor k i,j i 1 jif b k k j if i k t b i b i b k b k t for i 0 iprintf d... 葉惠君 不用陣列就比較麻煩了 簡不了 main 判斷a和b if b c 判斷b和c if c d 判斷c和d 現在d是最大的,已經排到最後了 接下來只用排a b c if a b 判斷a和b if b c 判斷b和c 現在c也是a b c 中最大的 再比較a b就行 if a b 判斷a和b 排完...C語言氣泡排序問題,c語言氣泡排序問題!?
c語言選擇法排序,C語言選擇法排序
c語言數排序怎麼弄,c語言4個數排序怎麼弄