题目描述:
从键盘上输入3个字符串,求出其中最大者。
输入:
输入3行,每行均为一个字符串。
输出:
一行,输入三个字符串中最大者。
样例输入
England
China
America
样例输出
England
解题:
//字符串求最大值
//从键盘上输入3个字符串,求出其中最大者
#include <stdio.h>
#include <string.h>
int main() {
char str1[10], str2[10], str3[10];
gets(str1);
gets(str2);
gets(str3);
if((strcmp(str1, str2) > 0) && (strcmp(str1, str3) > 0)) {
puts(str1);
}else if((strcmp(str2, str1) > 0) && (strcmp(str2, str3) > 0)) {
puts(str2);
}else if((strcmp(str3, str1) > 0) && (strcmp(str3, str1) > 0)) {
puts(str3);
}
return 0;
}
纠错思路:
最初想法是str[3][10],并且遇到了[Error] invalid array assignment 错误(无效的数组分配 就是数组不能互相赋值 只能是数中相互赋值),并尝试想用strcpy()
函数进行复制
strcpy(字符数组1,字符数组2)
函数是将字符数组2复制给字符数组1
运用知识点:
strcmp(字符数组1,字符数组2)
函数
比较原则是字典序,即
①字符数组1<字符数组2 则返回一个负整数
②字符数组1=字符数组2 则返回0
③字符数组1>字符数组2 则返回一个正整数
如:strcmp(a,b)>0
为 a>b