错误很多,参见注释:
#include
#include
using namespace std;
void strlen(string);// 函数原型少一个参数
void revers(string);// 函数原型少一个参数
void main(){
string s,m;
int len;
cin>>s;
cout<
cout<
strlen(s,len);
revers( m,len);
}
void strlen(string s,int len){
char ch[len];// 数组的元素个数不能是变量,动态数组分配格式错误
for(int i=0;i
//如果是输入,用cin,并且后面>>endl错误
}
void revers(string m,int n)
{
strlen(m,n);
char ch[n];// 同上一个函数,数组声明错误
for(int i=0;i
char temp=ch[i];
ch[i]=ch[len-i-1];
ch[len-i-1]=temp;
}
cout<}
你这个程序,可以先对m,n,k,s 赋初值0.
程序得不到的结果的主要原因是,
if(i%j==0)
k++;
if(k==0)
由于 k 值使用了++ , 所以只要if(i%j==0) 条件成立一次,那么k值就加了1 .
这就使得 if(k==0) 这个条件中k==0 一直都不会成立,从而程序运行得不到结果.
希望对你有点帮助
另外,站长团上有产品团购,便宜有保证