首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

1道C++的题目,实在搞不懂

2013-08-09 
1道C++的题目,实在搞不懂,求高手指教说明:提示用户输入一个字符串,然后反转此字符串,如果用户输入的是hell

1道C++的题目,实在搞不懂,求高手指教
说明:提示用户输入一个字符串,然后反转此字符串,如果用户输入的是hello world,则新字符串为dlrow olleH。

#include<iostream.h>
#include<string.h>
int main()
{
   char str[50],newstr[50];
   int i;
   cout <<"\n输入一个字符串:";
   cin >> str;
   for(i=0;i<50;++i)
   {
      newstr[i]=str[50-i];
   }
   for(i=0;i<50;++i)
   {
      cout << newstr << endl;
   }
   return 0 ;
}

这个程序怎么改?我改了半天依然没解决问题。谢谢高手们指导! C++
[解决办法]

#include <iostream>  //c++中头文件不用加.h
#include <string>
using namespace std; // 你忘了这个

int main()
{
char str[50],newstr[50];
int i;
cout <<"\n输入一个字符串:";
//cin >> str;
    cin.getline(str,50); //改成行输入,可以带空格
int len = strlen(str);   //计算str的长度
for(i = 0; i < len ; ++i) 
{
newstr[i] = str[len-i-1];
}
newstr[len] = '\0';   //最后加个结束符
cout << newstr << endl;  //直接输出字符串,不需要for循环一个个输出
/*    
for(i=0;i<50;++i)         
{
cout << newstr << endl;
}
*/ 
return 0 ;
}

热点排行