我是编程新手,似乎无法弄清楚该问题的解决方法。我的分配非常简单,仅使用strcmp函数即可按字母顺序对两个单词进行排序。
我的程序可以编译并运行,但是直到我用字符完全填充数组后它才继续运行,但是我们打算能够使用不同长度的单词。
这是我写的:
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
int x;
char wordone[10] , wordtwo[10];
cout << "Please enter your first word: \n";
for(x=0; x<10; x++) cin >> wordone[10];
cout << "Please enter the second word: \n";
for(x=0; x<10; x++) cin >> wordtwo[10];
if(strcmp(wordone, wordtwo)<0)
{
cout << wordone << endl << wordtwo;
}
if ( strcmp( wordone,wordtwo)>0)
{
cout << wordtwo << endl << wordone;
}
else
{
cout << wordone << endl << wordtwo;
}
return 0;
}
And the output looks like this:
Please enter your first word:
help
me
please
Please enter the second word:
hello
how
`
@
àu0þ
我一直在尝试我能想到的每种组合,任何帮助将不胜感激!
答案 0 :(得分:0)
用于输入。使用getline或直接接受输入。 代替这个-
cout << "Please enter your first word: \n";
for(x=0; x<10; x++) cin >> wordone[10];
可能的解决方案。
执行此操作-
char name[10];
cin>>name;
或执行此操作
string s;
cin>>s; // simply take input like ordinary variable. Rember to #include<string>
或执行此操作-
string s; // for getline this is must. Use string
getline(cin,s);