杭电oj2000-C语言

来源:互联网 发布:风靡一时的网络歌曲 编辑:程序博客网 时间:2024/06/07 02:08

题目

  • 题目

Problem Description

输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。

Input

输入数据有多组,每组占一行,有三个字符组成,之间无空格。

Output

对于每组输入数据,输出一行,字符中间用一个空格分开。

Sample Input

qwe
asd
zxc

Sample Output

e q w
a d s
c x z

代码

  1. 代码
#include <stdio.h>int main () {char a[3],temp;while (scanf("%s",&a)!=EOF){    if(a[0]>a[1])    {        temp=a[0];        a[0]=a[1];        a[1]=temp;    }    if(a[0]>a[2])    {        temp=a[2];        a[2]=a[0];        a[0]=temp;    }    if (a[1]>a[2])    {        temp=a[2];        a[2]=a[1];        a[1]=temp;    }    printf("%c %c %c\n",a[0],a[1],a[2]); }return 0;}

个人见解 ##

-1个人心得
首先要懂得这里的输入输出格式1.多组数据输入的两种表示方法
(1):while(~scanf(“%d %d”,&a,&b)) //多次输入a和b。
~含义是不停重复输入数据,即可以满足用户实现多组数据的输入
(就题论题,C语言中~代表位运算,取反)

EOF的含义是文件结束符(end of file)。在while循环中以EOF作为文件结束标志,也就是说,用scanf函数读取数据,直到遇到文件结束。
2.这道题目最重要的就是引入一个介值temp满足两个数组之间的数据交换
这里有一个技巧
temp=a[2];
a[2]=a[1];
a[1]=temp;
斜着看数据应是对应的(靠个人理解)

0 0
原创粉丝点击