#include<stdio.h>
#include<string.h>
void compare(int x,int y,int z);
void swap(int *m,int *n);
int main()
{
char A[50],b[50],c[50];
gets(A);
gets(b);
gets(c);
int x,y,z;
x=strlen(A);
y=strlen(b);
z=strlen(c);
compare(x,y,z);
}
void compare(int x,int y,int z)
{
int a[3];
x=a[0];y=a[1];z=a[2];
int i,j;
for(i=0;i<3;i++)
{
for(j=2;j>i;j--)
{
if(a[j]<a[j-1])
{
swap(&a[j],&a[j-1]);
}
}
}
puts(a);
printf("\n");
puts();
}
void swap(int *m,int *n)
{
int t;
t=*m;
*m=*n;
*n=
以上为写10.1时的一些想法 如果单纯的想要写字符串长度而非大小比较的一串代码 但是输出时有一些错误还没想到该如何更改
最开始写的时候误解了题意,以为是比较字符串长度。后来才发现比较的其实是字符串的大小。
如果比较大小则需要用到strcmp函数
如下所示
#include<stdio.h> #include<string.h> int main() { char a[50],b[50],c[50]; gets(a); gets(b); gets(c); if(strcmp(a,b)>0) { if(strcmp(b,c)>0) { puts(c); puts(b); puts(a); } else { puts(b); puts(c); puts(a); } } else if(strcmp(a,b)<0) { if(strcmp(a,c)<0) { puts(a); puts(c); puts(b); } else { puts(c); puts(a); puts(b); } } else if(strcmp(c,a)>0) { if(strcmp(a,b)>0) { puts(b); puts(a); puts(c); } else { puts(a); puts(b); puts(c); } } }