如果完成这样一个程序,怎么做啊?请各位高手指教!谢谢拉!!!
写一个逆序程序,把写在命令行中的词逐字符反序显示!
字符串倒序排列~~~
我是一个初学者,给你我做的,不是最好的,但是能够实现!!
//作者:牛牛菜 日期: 2005年8月5日
#include <iostream.h>
#include <string.h>
class NumArr
{
public:
NumArr(char *);
void arr();
protected:
private:
int n;
char str[];
};
NumArr::NumArr(char *_str1)
{
strcpy(str,_str1);
}
void NumArr::arr()
{
n=strlen(str);
while (n>=0)
{
cout<<str[n-1];
n--;
}
cout<<endl;
}
void main()
{
char str[100];
cin>>str;
NumArr na(str);
na.arr();
}
是这个么?
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
string str;
cin>>str;
copy(str.rbegin() ,str.rend() ,ostream_iterator<char>(cout));
}
题外话:这道题就是我们学院编程比赛的一道试题,幸好当时学了点STL,简直就是送分
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char ** argv)
{
char * cpTemp;
if(argc == 1) exit(0);
cpTemp = argv[1];
while(*cpTemp != \0) cpTemp++;
while(--cpTemp >= argv[1]) putchar(*cpTemp);
return 0;
}
用逆向迭代器就可以了. 正如sftk(星海传说)的那样.
给个VC的
CString str = "写在命令行中的词";
str.Reverse();
输出str;
呵呵
void Invert(char *s)
{
if(*s)
Invert(s+1);
putchar(*s);
}