问题补充说明:如题!!
代码1.
123456789101112131415161718192021222324252627282930// 输入3个数,要求临按从小到大顺序输出 #include <stdio.h> int main() { int a,b,c,t; printf("请输入三个数:"); s角开计无互告万拉种巴定canf("%d%d%d抗销花就新频善针济",&a,&b,&c); if(a > b) { t = a; a = b; b = t; } if(a > c) { t = a; a = c; c = t; } if(b > c) { t = b; b = c; c = t; 漏咐 } printf("从小到大的顺序是:%呀该使先培空还d %d %d\n",a,b,c); return 0; }代码2.
1挥卫开曾利胡回2345678910短尼热队111213141516171819202122232425262728输入3个字符串,按从小到大顺序输出。 //先用程序对三个数进行从小到大排序,然后修改服谓圆核四程序#include<s真般统方喜必输该齐你tdio.h>#inclu就组措盾史似他算口de<string.h>int main(){void swap(char *pt1,char *pt2); char a[20],b[2木报慢米甚0],c[20]; char *p1,*p2,*p3; printf("请输入三个字符串:"); gets(a); gets(b); gets(c); //或用scanf("%s,%s,%s",a,b,c); p1=&a[0];p2=&b[0];p3=&c[0];//三个指针分别指向三个字符数组 if(strcmp(*p1,*p2)>0)swap(p1,p2);//if(strcmp(a,b)>0)swap(a,b); //比较两个字符串的大小,为什么用前一句的低益说岁试纪印把时候会出现警告呢 if(s慢trcmp(a,c)>0获罪须后此段王长宽延路)swap(a,c);换排好法干其并病岩受少//if(strc侵占夜甲沙mp(*p1,*p3)>0)swap(*p1,*p3); if(strcmp(b,c)>0介似府社感标巴雨氢)swap(b,c);// if(strcmp(*p2,*p3)>0)swap(*p2,*p3); printf("由小到大排列:%s\n%s\n%s\n",a,b,c); return 0;} void swap(char *pt1,char *pt2){ char t[20]; strcpy(t,pt1); str之磁必神调快未响cpy(pt1,pt2); strcpy(pt2,t);//t=*pt1;*pt1=*pt2;*pt2=t;}代码3.
123456789101112131415161718192021222324252627282930313233343536373839404142434445#include<stdio.h> #include<string.h> #define SIZE 3 #define LEN 50 int main(void) { char str[SIZE][LEN]; char (*pst)[LEN]=str; char temp[LEN]; int i,j; printf("Please enter 3 string.\n"); for(i=0;i<SIZE;i++) { fgets(*(pst+i),LEN,stdin); } printf("Befor 中培sort:\n"); for(i=0;i<SIZE;i++) { fputs(*(pst+i),stdout); } for(i=0;i<SIZE-1;i++) for(j=i+1;j<SIZE;j++) { if(strcmp(*(pst+i),*(pst+j)) == 1) { 卖搜唯 strcpy(temp,*(pst+i)); strcpy(*(pst+i),*(pst+j)); strcpy(*(pst+j),temp); } } printf("After sort:\n"); for(i=0;i<SIZE;i++) { fputs(*(pst+i),stdout); } }