有一个注意点:

      就是在字符输入时,要用getchar诋毁那个回车键

1 几个比较重要的error
2 1.听了学长的没有再用void main,结果结尾忘了return 0,但是竟然也编译运行成功并提交了,ole
3 2.return 0后的分号用的全角符号,所以编译出现三个error
4 3.程序里明明不用if...else...,直接用if就好了,程序累赘了
5 4.没有考虑输入的字符中有相同的的情况,最后应该比较a和b,而不是a和c。如果输入332就是323不对了
6 *5.不知道scanf输入char字符时回车也会被当成字符。。。
7    所以循环开始的地方要getchar读取回车。。。。

  然后题目展示:

)ASCII比较大小

 

 

开始错误代码展示:(注意观察第六行,没有代码,看下面正确的)

    

 1 #include<stdio.h>
 2 int main(){
 3     char a,b,c;
 4     char temp;
 5     while(scanf("%c%c%c",&a,&b,&c)!=EOF){
 6     
 7         if(a>b){
 8         temp=a;
 9         a=b;
10         b=temp;    
11         }
12         if(a>c){
13             temp=a;
14             a=c;
15             c=temp;
16         }
17         if(b>c){
18             temp=b;
19             b=c;
20             c=temp;
21         }
22         printf("%c %c %c\n",a,b,c);
23     }
24     return 0;    
25 }

 

 

正确代码:
    

 1 #include<stdio.h>
 2 int main(){
 3     char a,b,c;
 4     char temp;
 5     while(scanf("%c%c%c",&a,&b,&c)!=EOF){
 6         getchar(); //注意需要抵掉一个回车键 
 7         if(a>b){
 8         temp=a;
 9         a=b;
10         b=temp;    
11         }
12         if(a>c){
13             temp=a;
14             a=c;
15             c=temp;
16         }
17         if(b>c){
18             temp=b;
19             b=c;
20             c=temp;
21         }
22         printf("%c %c %c\n",a,b,c);
23     }
24     return 0;    
25 }

 

相关文章:

  • 2022-12-23
  • 2022-01-03
  • 2022-12-23
  • 2022-01-11
  • 2021-05-30
  • 2021-10-16
  • 2021-06-15
  • 2021-09-07
猜你喜欢
  • 2021-08-09
  • 2022-12-23
  • 2021-09-01
  • 2022-02-09
  • 2021-11-06
  • 2022-12-23
相关资源
相似解决方案