谁帮我看看这个C++试题。

来源:百度知道 编辑:UC知道 时间:2024/07/02 02:31:39
读入一段文本到vector 对象,每个单词存储为vector 中的一个元素。把vector
对象中每个单词转化为大写字母。输出vector 对象中转化后的元素,每8 个单
词为一行输出。

#include<iostream>
#include<vector>
#include<ccpyte>
using namespace std;
int main()
{
cout<<"请输入:"<<endl;
vector<char>ru;
char a;
while(cin>>a){
ru.push_back(a);}
for(int b=0;b<ru.size();++b){
cout<<toupper(ru[b])<<" ";
if(b%8==0)
cout<<endl;
}
return 0;
}
没报错,但是也编译不了

你这段代码里
#include<cctype> 写错了

还有既然你要Vector对象的每一个元素是个单词,所以
我建议应该这样写,
vector<string> ru;

还有一个,ru.size()的返回值是unsigned int 类型,所以,该改成

for (unsigned int b=0;b<ru.size();++b)

相应的下面的小写字母转大写,你就应该再改一下了,那个 toupper()似乎只能改边字母,而不能改变字符串!