C++的高手进来下,看下我这个程序那里出错了,谢谢
解决时间 2021-07-31 02:27
- 提问者网友:泪痣哥哥
- 2021-07-30 19:32
#include "stdafx.h"
#include "stdio.h"
int p(int n, int m);
{int (i=1,m);
{for(m=1;m<=i;m++)
printf ("%d",i=i*m );}
return (i)
}
int main(int argc, char* argv[])
{ int a,b;
scanf ("%d%d",&a,&b);
printf ("%d",p(a,b));
return 0;
}
这道题的题目是,写一个计算并返回正整数n的m次幂的函数。
我自己编写的系统说没有头文件,高手指点下谢谢!!
最佳答案
- 五星知识达人网友:洎扰庸人
- 2021-07-30 19:53
改过的地方都给你用黑体标出了
#include "stdafx.h"
#include "stdio.h"
int p(int n, int m)
{int i=1,j,t=n;
{for(j=1;j<m;j++)
printf ("%d ",n=n*t );}
return (n);
}
int main(int argc, char* argv[])
{ int a,b;
scanf ("%d%d",&a,&b);
printf ("%d",p(a,b));
return 0;
}
全部回答
- 1楼网友:一袍清酒付
- 2021-07-30 23:06
帮你改过来了
错误的地方有注释
希望能对你有帮助
//不知道你什么编译器 VC的话 这个要去掉
//#include "stdafx.h"
#include "stdio.h"
int p(int n, int m) //这的;号要去掉
{int i=1; //m重定义了
{for(m=1;m<=i;m++)
printf ("%d",i=i*m );}
return (i);//少个;号
}
int main(int argc, char* argv[])
{ int a,b;
scanf ("%d%d",&a,&b);
printf ("%d",p(a,b));
return 0;
}
- 2楼网友:往事隔山水
- 2021-07-30 21:39
1,去掉 #include "stdafx.h"
2,函数p写得太乱,建议改为:
int p(int n, int m)
{
int i, v;
v = 1;
for(i = 1; i < m+1; i ++)
v *= n;
return v;
}
//#include "stdafx.h" 如果在工程中没有建立该头文件或者不需要使用该头文件.就不需要包含.
////求n的m次幂函数挺乱的.. 传递了两个参数,n和m. 那么在函数中怎么又定义了int m;?
//另外,for循环中用i控制循环次数,就不能在printf中让i=i*m;
帮你修改了下. 你可以看看.
#include "stdio.h"
int p(int n, int m) //多了个;
{
int i=1,sum=1;
for(i=1;i<=m;i++)
printf ("%d\n",sum*=n);
return (sum);
}
int main(int argc, char* argv[])
{
int a,b;
scanf ("%d%d",&a,&b);
printf ("%d",p(a,b));
return 0;
}
- 4楼网友:有你哪都是故乡
- 2021-07-30 20:08
我要举报
大家都在看
推荐资讯