----------------解决方案--------------------------------------------------------
这样的程序LZ还是要自己多练习啊。如果LZ是计算机专业的,这样的题目自己还不动手,那就走不下去了。
---------------------------------------------------------
#include<stdio.h>
#include<string.h>
#define MAX 20
void InputStr(char *str1, char *str2, char *str3);
void SortStr(char *str1, char *str2, char *str3);
void PrintStr(char *str1, char *str2, char *str3);
void
InputStr(char *str1, char *str2, char *str3)
{
printf("Please input three name_string:\n");
gets(str1);
gets(str2);
gets(str3);
SortStr(str1, str2, str3);
}
//========================================================
void
SortStr(char *str1, char *str2, char *str3)
{
char *Temp;
if (strcmp(str1, str2) < 0)
{
Temp = str1;
str1 = str2;
str2 = Temp;
}
if (strcmp(str1, str3) < 0)
{
Temp = str1;
str1 = str3;
str3 = Temp;
}
if (strcmp(str2, str3) < 0)
{
Temp = str2;
str2 = str3;
str3 = Temp;
}
PrintStr(str1, str2, str3);
}
//============================================================
void
PrintStr(char *str1, char *str2, char *str3)
{
printf("Now,the name_strings have been sorted:\n");
puts(str1);
puts(str2);
puts(str3);
}
//============================================================
int
main(void)
{
char name1[MAX], name2[MAX], name3[MAX];
InputStr(name1, name2, name3);
system("Pause");
return 0;
}
----------------解决方案--------------------------------------------------------
PS:楼上的代码不是按楼主的题目要求写的(是我以前写的),不过道理一样,楼主修改一下完全可以了。
----------------解决方案--------------------------------------------------------
谢谢啦.我会努力.只不过没有学过计算机.
----------------解决方案--------------------------------------------------------
你写的太乱了.要让你判断多个国家的名字.那不是要定义很多函数吗?干嘛不用for循环.不就可以吗?
----------------解决方案--------------------------------------------------------