c语言用带参数带返回值的函数实现功能:从键盘上输入一个整数n,计算n !.

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言用带参数带返回值的函数实现功能:从键盘上输入一个整数n,计算n !.相关的知识,希望对你有一定的参考价值。

c语言高手麻烦看看哪里出错了#include<stdio.h>
#include<math.h>
double fator(int n);
main()
int n,s;
printf("请输入一个数值来计算阶乘");
scanf("%lf",&n);
s=fator(n);
printf("n的阶乘为:%lf\n",s);

double fator(int n)

int result=1;
int i;
for(i=1;i<=n;i=i+1)
result=result*i;
return result;

把你那个double 全换成 int 还有那个%lf也换一下 %d下面你看看我的 #include "stdio.h"int fnJc(int n);int fnJc(int n)

int i, iJ=1; for(i=1; i<=n; i++)
iJ = iJ * i; return iJ;
void main(void)

int n, iJ; printf("Input one integer: ");
scanf("%d", &n);

iJ = fnJc(n); printf(" %d! = %d\n", n, iJ);
有不懂的 请追问
参考技术A #include<stdio.h>
#include<math.h>
long fator(int n);
main()
int n,s;
printf("请输入一个数值来计算阶乘");
scanf("%d",&n);
s=fator(n);
printf("n的阶乘为:%ld\n",s);

long fator(int n)

long result=1;
int i;
for(i=1;i<=n;i=i+1)
result=result*i;
return result;

在C语言中getchar()如何用

getchar
由宏实现:#define
getchar()
fgetc(stdin)。getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止(回车字符也放在缓冲区中).当用户键入回车之后,getchar才开始从stdio流中每次读入一个字符.getchar函数的返回值是用户输入的第一个字符的ascii码,如出错返回-1,且将用户输入的字符回显到屏幕.如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取.也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按键.
参考技术A 并不是等于函数,而是等于函数调用的结果
就像数学上说的

y
=
sin(π)
不是说让变量
y
成为一个函数,而是让
y
等于
sin(π)
这个计算的结果。不过
C
语言这样的“过程式”编程语言和数学上有一点不一样,就是对同一个函数的两次一模一样的调用可以得到不同的结果,例如
getchar();
getchar();
这样两次调用的结果可能是不一样的
getchar()
的返回值类型确实是
int
,返回值的取值有两种可能,一种是
把读到的字符提升成
int
类型
然后返回(因为
int
的取值范围一定是
char
的取值范围的超集,所以不会有数据丢失),另一种是如果读取的时候发生错误,返回的是
EOF,这个宏展开成一个“和任何字符都不相等”的
int
值,用来表示错误,它不一定能用
char
表示。
也就是说,这里人为给
int
加上了“比
char
多一个表示‘不是字符’的值的数据类型”的含义
代码中这种直接把
getchar()
的返回值赋给
char
类型就是放弃检查
读取时有没有发生错误,算是偷懒的做法或者是比较坏的做法吧
参考技术B 首先类型
char
<
short
<
long
,int由系统决定是short还是long,他们之间是可以相互转换的。
char型指是ascii码表对应的字符,如,'A'的ascii码是65,
你可以
char A = 'A';
char A = 65;
int A = 'A';不管是int还是char,在内存中都是二进制。只要他们二进制相同,就是相等的。
int和char是可以混用的,学会用printf
%c
%d来测试他们吧,这样你就能加深印象
------------------------
”定义一个字符后,这个字符为什么能等于一个函数啊?“
这个一点也不奇怪
这个不是等于一个函数,而是等于其返回值。
例如:
int
a
=
10;
int
b
=
fun();
//假设fun()返回一个10的函数
都是可以
getchar是函数,
getchar()是函数调用。
就像高中学的y=f(x),y是等于f(x)计算出来的值
x是形参,你具体传入一个值,如0,就可以算出来具体的值
另外等于函数,其实说的是函数指针,暂时你用不上,就先不介绍了
参考技术C main()

char
c;
c=getchar();
/*从键盘接收一个字符,只能一个,多于一个其余作废*/
putchar(c);

还可以这样用:
main()

putchar(getchar());

以上是关于c语言用带参数带返回值的函数实现功能:从键盘上输入一个整数n,计算n !.的主要内容,如果未能解决你的问题,请参考以下文章

C语言编程题求代码,不会做啊

急求一个c语言定义函数的程序,有一个参数但无返回值,实现输出一行n

c语言 从键盘上读入一个整型数,将其转化成字符串并输出。例如:输入123,则转换为字符串“123

在C语言中,调用函数除函数名外,还必须有()。

在C语言中getchar()如何用

c语言从键盘输入一个整数,然后输出这个数字的平方和立方?