1樓:匿名使用者
這個問題是一類典型的問題:讀取之前的回車符錯誤。
輸入函式存在乙個緩衝區,輸入函式每次都會從輸入緩衝區讀數。同時,scanf()與getchar
()函式有乙個相同的特點,就是輸入完畢必須敲回車鍵才算完成輸入。而getch(),getche()是
不需要回車鍵作為結束的。然而,只要輸入緩衝區沒有清空,所有字元包括回車都會記錄在
輸入緩衝區。如果沒有將緩衝區清空,若下次呼叫scanf()與getchar()函式讀取字元,則問
題就出現了,因為回車本身就是字元。
比如在這個程式中樓主會發現第一次輸「qwe《回車》」,答案是「e q w」,但是第二次輸
「ads《回車》」後,卻出現了「《回車》 a d」,卻沒有「s」,第三次輸入「cxz《回車》」,則
更奇怪得出現了「《回車》 c s」和「《回車》 x z」。
因為根據你的輸入依次是「qwe《回車》ads《回車》cxz《回車》」,輸入緩衝區沒有清空,每次讀
三個,將《回車》也讀入,對其進行排序難道不是這個結果嗎?
要想改對,只要加乙個fflush(stdin);清空輸入緩衝區就解決了!
看程式:
#include
int main()
if(x>z)
if(y>z)
printf("%c %c %c\n",a,b,c);
}return 0;}
2樓:匿名使用者
scanf接收乙個輸入字元,以空格、回車或tab鍵結束
3樓:
第二個結果是正確的。
4樓:
對的,樓主不要按鍵盤將字母排序
ascii碼是怎麼排序的
5樓:好程式設計師
ascii碼採用7位二進位制位元編碼,可以表示128個字元。最小的ascii碼是0000000(二進位制)專,最大的是1111111(二進位制)。
ascii碼裡邊,符號在前,然後是0-9 ,然後是大寫字母a-z,然後是小寫字母a-z。碼屬表最好能背下來
c語言程式設計:輸入三個字元後,按各字元的ascii碼從小到大的順序輸出這三個字元。
6樓:愛夏的你呀
ascii碼從小到
大的順序輸出這三個字元的源**如下:
#include<
stdio.h>
void main()
擴充套件資料找出並列印ascii碼最大的字元的源**如下#include
void main()
7樓:凌亂心扉
#include<stdio.h>
main()
{chara,b,c,d;
inti;
scanf("%d",&
i);getchar();
while(i--)
{scanf("%c%c%c",&a,&b,&c);
getchar();
if(a>b){d=a;a=b;b=d;}if(a>c){d=a;a=c;c=d;}if(b>c){d=b;b=c;c=d;}printf("%c%c%c\n",a,b,c);}}執行結果:
8樓:匿名使用者
此題的正確答案如下:
#include<stdio.h>
main()
{chara,d,c,b;
inti;
scanf("%d",&i);
getchar();
while(i--)
{scanf("%c%c%c",&a,&b,&c);
getchar();
if(a>b){d=c;a=c;b=d;}if(a>c){d=n;a=n;c=d;}if(b>c){d=n;b=n;c=d;}printf("%c%c%c\n",a,b,c);}}輸入程式
《參考執行結果》
9樓:
//這道題關鍵是把輸入3個字元後的回車過濾掉,不然回車就會成為下一組的第乙個字元。有兩種方法:
//第一種:
#include
int main()
if(a>c)
if(b>c)
printf("%c %c %c\n",a,b,c);
}return 0;
}//第二種:
#include
int main()
return 0;}
10樓:匿名使用者
public static void main(string args)}
11樓:匿名使用者
是螢幕輸入嗎?輸入結束的標誌是什麼?
#include "stdio.h"
char c1,c2,c3,tmp;
int main()
if(c1>c2)
if(c2>c3)
printf("%c %c %c",c1,c2,c3);
}return 0;
}//希望我沒有記錯東西,手邊沒編譯器就是悲劇
12樓:f皶邪蛻
#include
int main()
{char a,b,c,d,e,f;
scanf("%c%c%c",&a,&b,&c);
d=a>b?a:b;
d=d>c?d:c;
e=a,我的最簡單
13樓:匿名使用者
#include
int main()
if(a>c)
if(b>c)
printf("%c %c %c\n",a,b,c);
}return 0;}
14樓:匿名使用者
#include
int main()
if(z }printf("%c%c%c",min,max,maxdata); return 0;} c語言/輸入三個字元後,按各字元的ascii碼從小到大的順序輸出這三個字元??? 15樓: 輸入三個字元中要有空格,例如:a b c,我這裡用最簡單的氣泡排序實現的,直接比較兩個字元的大小,即比較兩個字元的ascii碼大小 #include #include int bigswap(char *a, char *b)return 0; }int main() }printf("%c %c %c\n",*input,*(input+1),*(input+2)); return 0;} 16樓:小草 裡邊有一百個例子,有你的例子,自己找吧。 17樓:金色潛鳥 #include #include main() if (a>=c) if (b>=c) printf("%c %c %c",a,b,c);return 0;} 18樓:匿名使用者 直接輸入3個字元,然後比較排序就可以了,lz是不會呢還是懶得去想,就是為了交作業? 還是杭電的,c語言哪個老師教的,吳鵬,還是樓永堅還是夏一行啊? c語言,輸入五個國家的名字(英文),按字母順序(即按ascii碼從小到大的順序)排列輸出 19樓:匿名使用者 #include #include #include typedef struct c;c raw[5]; c *p[5]; int main() for(i=0;i<4;i++) for(j=0;j<4-i;j++) }printf("\nthe sort countries:\n"); /*迴圈輸出*/ for(i=0;i<5;i++) printf("%s\n",p[i]->cou); system("pause"); return 0;} (c語言)輸入三個字元後,按各字元的ascii碼從小到大的順序輸出這三個字元 20樓:凌亂心扉 #include"stdio.h" charmax(chara,charb) {if(a>b) {returna; }else {returnb;}} charmin(chara,charb) {if(a<b) {returna; }else {returnb;}} intmain(intargc,charconst*argv[]) {charc0,c1,c2,c3,c4,c5,c6,c7; printf("pleaseinputnum:\n"); scanf("%c%c%c",&c0,&c1,&c2); c3=max(c0,c1); c4=max(c3,c2); c5=min(c0,c1); c6=min(c5,c2); c7=c0+c1+c2-c4-c6; printf("%c%c%c\n",c4,c7,c6); return0; }printf()用法: printf()函式是格式化輸出函式,一般用於向標準輸出裝置按規定格式輸出資訊。在編寫程式時經常會用到此函式。函式的原型為: int printf(const char*format,...);函式返回值為整型。若成功則返回輸出的字元數,輸出出錯則返回負值。 printf()函式的呼叫格式為: printf("《格式化字串》;",《參量表》);其中格式化字串包括兩部分內容: 一部分是正常字元,這些字元將按原樣輸出; 另一部分是格式化規定字元,以"%"開始,後跟乙個或幾個規定字元,用來確定輸出內容格式。 參量表是需要輸出的一系列引數,其個數必須與格式化字串所說明的輸出;引數個數一樣多,各引數之間用","分開,且順序一一對應,否則將會出現意想不到的錯誤。 規定符%d十進位制有符號整數 %u十進位制無符號整數 %f浮點數 %s字串 %c單個字元 %p指標的值 %e指數形式的浮點數 %x,%x無符號以十六進製制表示的整數 %o無符號以八進位制表示的整數 %g把輸出的值按照%e或者%f型別中輸出長度較小的方式輸出 %p輸出位址符 %lu 32位無符號整數 %llu 64位無符號整數 21樓:匿名使用者 #include int main() {char a,b,c; 加個空格, 第二個也一樣 {if((a 22樓:匿名使用者 最簡單的方法 :#include int main() if(b>c) if(a>b) printf("%c %c %c\n",a,b,c); }return 0;} 23樓:小明五個字 兩個程式在scanf**調一下,看一看a,b,c的值 24樓:匿名使用者 直接除錯吧,很明顯的錯誤,c還是你需要的輸入的資料嗎 25樓:匿名使用者 敢不敢用排序演算法拍個序 感覺很老火 26樓:富嬌韋曉山 #include void main() if(p>s)if(q>s)printf("%c%c%c\n",a,b,c);} 27樓:謬歌東郭飛薇 你輸入的是4個字元啊,輸出卻只有3個字元 28樓:姓元郗海藍 #include intmain()} 29樓:沙蝶閻錦 從鍵盤輸入乙個字元,求出與該字元前後相鄰的兩個字元,按從小到大的 順序輸出這三個字元的ascii 30樓:符念樊湘雲 隨便寫的: static void main(string args) if(s[0] >s[1]) if(s[1] >s[2]) if(s[0] >s[1]) console.writeline(s); console.readline(); 檢視原帖》 c語言 按ascii碼排序 求教大神 31樓:匿名使用者 總得思想還是冒泡排 序,改良一下就可以了。 #include #include #include int main(void) else if(a[loop] >= 'a' && a[loop] <= 'z') //大寫字母 else if(a[loop] >= '0' && a[loop] <= '9') //數字 else //啥也不是 for(loop1 = loop + 1; loop1 < len; loop1++) }else }else if(flag == 2) }else }else }else}} }printf("%s\n", a); return 0;} 小小小小顰 具體操作步驟如下 1 首先,定義兩個整數變數a和a,並儲存相應字母的ascii碼,如下圖所示,然後進入下一步。2 其次,定義乙個字元變數ch以儲存要轉換的字元。如下圖所示,然後進入下一步。3 接著,為字元變數ch分配乙個初始值,並返回給小寫的母親a,如下圖所示,然後進入下一步。4 然後,... 好像沒有直接輸入二進位制,不過可以先以輸入的二進位制當成十進位制看待,然後再轉換成實際的十進位制數。include stdio.h include math.h void main int a,c,sum,i scanf d a i 0 sum 0 while a 0 c a 10 sum c in... 空字元0000 0001 1 01 soh start of handing 標題開始 0000 0010 2 02 stx start of text 正文開始 0000 0011 3 03 etx end of text 正文結束 0000 0100 4 04 eot end of transm...c 語言中怎麼將字母轉換為ascii碼
c語言,怎麼輸入ASCII碼?也就是怎麼輸入8位二進位制數
C語言 ASCII碼前控制字元的含義