#include <iostream> using namespace std; long fact(int n) { long ret=1; for(i=2;i<=n;i++) ret=ret*i; return ret; }
void main() { int num; cout<<"please input a number(1-20)"; cin>>num; cou<<num<<"!="<<fact(num)<<endl; } 再问: 运行出错啊,有简洁一点的么?还有我们好像用的都是#include 再答: //C++写法 #include <iostream> using namespace std; long fact(int n) { long ret=1; for(int i=2;i<=n;i++) ret=ret*i; return ret; }
void main() { int num; cout<<"please input a number(1-20)"; cin>>num; cout<<num<<"!="<<fact(num)<<endl; }
//c语言写法 #include <stdio.h> long fact(int n) { long ret=1; for(int i=2;i<=n;i++) ret=ret*i; return ret; }
void main() { int num; printf("please input a number(1-20)"); scanf("%d",&num); printf("%d!=%ld",num,fact(num)); } 再问: 请问有一处错误怎么回事?我输的是第二个 再答: 我调试通过的,你把错误切图给我看一下。或者把错误复制给我看一下 再问: 再答: 我知道了你在 long ret=1 后面一行加一个 int i; 然后你的 第五行 for 后面的 int 三个字母删除掉。