有关C++ 函数的一个初级问题,具体代码如下!

下面是我写的一个程序……
#include<iostream>
using namespace std;
int Acm(int m,int n);
void main()
{
int m,n;
cout<<"Input m,n:";
cin>>m>>n;
cout<<"The result is:"<<Acm(m,n);
}
int Acm(int m,int n)
{
if m=0
return n+1;
if n=0
return Acm(m-1,1);
returnAcm(m-1,Acm(m,n-1));
}

然后编译时出了这么个错:syntax error:identifier ‘m’
syntax error:identifier ‘n’
帮看看吧,感谢了
编译能过了,可是运行时输入两个数啥也没输出就退出了呀?

慕慕森
浏览 248回答 3
3回答

红颜莎娜

#include<iostream>using namespace std;void main(){int m,n;cout<<"Input m,n:";cin>>m>>n;int Acm(int,int);//其他函数如果放在main函数后面,要在main函数中作这样的声明cout<<"The result is:"<<Acm(m,n);}int Acm(int m,int n){if (m==0)//if格式是这样用的return n+1;if (n==0)return Acm(m-1,1);return Acm(m-1,Acm(m,n-1));}

慕雪6442864

在MFC中,自己新加入的对话框中代码中并不会默认加入OnInitDiaglog处理函数,只有主对话框默认有雨落深山如果能收敛一些教训人的脾气,会对你的未来有好处,以后批评别人之前先要自省还可以这样添加:右键对话框资源窗口选择类向导,MESSAGE那里双击WM_INITDIALOG一项,再点击编辑代码转到函数定义

慕的地8271018

#define PI 3.1415926#include <stdio.h>#include <math.h>double area(double a,double b,double c,double d,double e){double s,k;s=(a+b+c+d)/2;e=cos(e/360*PI);e=e*e;s=(s-a)*(s-b)*(s-c)*(s-d)-(a*b*c*d*e);if (s>=0)k=sqrt(s);else k=-1;return k;}int main(){double a1,b1,c1,d1,e1,s1;scanf("%lf%lf%lf%lf%lf",&a1,&b1,&c1,&d1,&e1);s1= area(a1,b1,c1,d1,e1);if (s1==-1)printf("Invalid input");elseprintf("%.4lf",s1);return 0;}这样就可以编译运行了,这是常用的写法,不过计算的正确与否就不知道了哦~或者:#define PI 3.1415926#include <stdio.h>#include <math.h>double area(double a,double b,double c,double d,double e);int main(){double a1,b1,c1,d1,e1,s1;scanf("%lf%lf%lf%lf%lf",&a1,&b1,&c1,&d1,&e1);s1= area(a1,b1,c1,d1,e1);if (s1==-1)printf("Invalid input");elseprintf("%.4lf",s1);return 0;}double area(double a,double b,double c,double d,double e){double s,k;s=(a+b+c+d)/2;e=cos(e/360*PI);e=e*e;s=(s-a)*(s-b)*(s-c)*(s-d)-(a*b*c*d*e);if (s>=0)k=sqrt(s);else k=-1;return k;}
打开App,查看更多内容
随时随地看视频慕课网APP