c语言程序设计题:请用自定义函数的形式编程实现,求s=m!+n!+k! m n k从键盘输入(值均小于7)

如题所述

代码:

#include <stdio.h>

请用自定义函数的形式编程实现

求 s = m! + n! + k!,m、n、k 从键盘输入(值均小 于 7)。

int fun(int m);

int main()

{

int m,n,k;

int s;

printf("请输入三个小于7的数:"); 

scanf("%d %d %d",&m,&n,&k);

s=fun(m)+fun(n)+fun(k);

printf("%d\n",s); 

return 0;

}

int fun(int m)

{

int i;

int x=1;

for(i=1;i<=m;i++)

{

x=x*i;        

}

return x;

}



扩展资料:

printf函数使用注意事项

1、域宽

%d:按整型数据的实际长度输出。

如果想输出指定宽度可以指定域宽,%md--&gt;m域宽,打印出来以后,在控制台上,显示m位;

如果我们要打印的数的位数如果超过我们设定m则原样输出;

如果我们要打印的数的位数如果小于我们设定的位数,则补空白,具体如下:

如果m为正数,则左对齐(左侧补空白);

如果m为负数,则右对齐(右侧补空白)。

2、转义字符

如果想输出字符"%",则应该在“格式控制”字符串中用连续两个%表示。

如:printf("%f%%",1.0/3);输出结果:0.333333%。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-06-18

1、打开Dev-c++软件,点击“新建源代码”。

2、具体程序如下。

3、编写完程序之后,点击运行即可得出结果。最后的结果是根据自己输入的n值和a值为基础来进行运行的,每次输入的值不同,结果也会不同。

4、for表示循环结构,i 表示循环条件,在编写程序时,注意给赋予增值变量的条件。

5、term=term*10+a 中的term表示a的位数,跟随每次循环结构的变换,term不断被赋予新值。

6、sum=sum+term 表示累加的值,每次循环之后的sum都会被赋予新值,所以,在编写程序时,要注意 i 的最大循环次数,否则,此程序会无限选循环下去,最终没有结果。

第2个回答  推荐于2017-12-16
#include <stdio.h>
int fun(int n);
main()
{
int m,n,k,s;
printf("please input the number of m,n ,k\n");
scanf("%d%d%d",&m,&n,&k);
s=fun(m)+fun(n)+fun(k);
printf("s=%d",s);
}
int fun(int n) /*确保n不能太大,否则,函数返回类型改为long 或者float*/
{ int j,t=1;
for(j=1;j<=n,j++)t*=j;
return t;
}本回答被网友采纳
第3个回答  2018-04-24
#include<stdio.h>
int f(int x) { int r; r=1; for ( i=1;i<=x;i++ ) r*=i; return r; }
void main() { int m,n,k,s;
  scanf("%d%d%d",&m,&n,&k); s=f(m)+f(n)+f(k); printf("%d\n",s);
}

第4个回答  2011-05-29
int liancheng(int num)
{ int total;
if(num==0||num==1)
return 1;
else
total=num*liancheng(num-1);
}

int main()
{
int m,n,k,s;
cout<<"please input the number of m,n ,k";
cin>>m>>n>>k;
s=liancheng(m)+liancheng(n)+liancheng(k);
cout<<"the total number is "<<s<<endl;
return 0;

}
相似回答