#include <iostream>
#include <string.h>
using namespace std;
int main()
{char string[80];
char str[5][80];
int i;
cout<<"Input five countries' names:\n"<<endl;
for(i=0;i<5;i++)
cin>>str[i];
if (strcmp(str[0],str[1])<0)
strcpy(string,str[0]);
else
strcpy(string,str[1]);
if(strcmp(str[2],string)<0)
strcpy(string,str[2]);
if(strcmp(str[3],string)<0)
strcpy(string,str[3]);
if(strcmp(str[4],string)<0)
strcpy(string,str[4]);
cout<<"The minimum is:%s\n"<<string<<endl;
return 0;
}
Input five countries' names :
china
germen
iran
iraq
french
The minimum is : china
Press any key to continue
*/
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char str[5][80];
int i,index = 0; // 假定索引为0排在最前面
cout<<"Input five countries' names :\n";
for(i = 0; i < 5; i++) cin >> str[i];
for(i = 1; i < 5; ++i) { // 索引为i和index两两比较
if(strcmp(str[index],str[i]) >= 0) // 如果索引index排在后面
index = i; // 就保存更考前者
}
cout << "The minimum is : " << str[index] << endl;
return 0;
}
cout<<"The minimum is:%s\n"<<string<<endl; //改成 cout<<"The minimum is:"<<string<<endl;
随便一个排序方式即可,冒泡了,快速了,选择了。
只不过就是用strcmp代替>,用strcpy代替赋值而已追问
可是到了老师的平台上检测到很多错误,排序部分有问题么
追答不排序这个题目也能做
思路
1、输入5个国名,这个简单,for循环搞定
2、把str[0]赋值给string。这个也不难,strcpy
3、比较,这个用for循环
for(i=1;i0)
strcpy(string,str[i]);
如果大于,那么拷贝str[i]到string中去
4、输出string,不用说了吧
具体代码,还用我写?
你非要排序也可,两层循环,和我说的一样,比较用strcmp,交换,用三个strcpy,和数字排序一样
#include <iostream>
using namespace std;
int main()
{
std::string str[5];
std::string tmp;
cout<<"Input five countries' names:\n"<<endl;
for(i=0;i<5;i++)
cin>>str[i];
tmp=str[0];
for( int j=0; j<5; ++j)
if( tmp < str[j] )
tmp=str[j];
cout<<"The minimum is:%s\n"<<tmp<<endl;
return 0;
}