我学C语言遇到的困难 请大哥来解决!!

第一题 从键盘上输入字符(例如‘1’) 转换成十进制数(即1),并输出。 提示“1”的 ASCII码为十进制数49,将其减去一个数等于十进制1即可。
第二题 已知a=3,b=2,c=2.5 计算(float)(a+b)/3+(int)c的值
第三题 编写一个程序输出 5!、10!的结果
第一题 请讲讲道理 我不太懂
第三题 我干脆都不知道 啥是 5! 10! “!”代表啥 ?

第1个回答  2007-01-10
第一题,您从键盘上获得的Getchar的值是一个ASCII码,您将这个值赋给一个字符变量储存。然后使用一个整型变量储存获得的值。
核心段代码如下:
int a;
char b;
b=getchar();
a=b-48;
printf("%d",b);
第2个回答  2007-01-14
第一题:从键盘上输入的是一个ASCII码的值,是属于字符型的,也就是要把它以整型输出而已,可以直接这样
char c;
int a;
a=c;
printf("%d",a)
第二题:
(float)和(int)都表示强制类型转换符啊,只要注意符号的优先级就行了
第三题:
!代表阶乘啊,例如5!是要求1*2*3*4*5
可以用递归:当n等于0和1时,所求等于1;当n大于1时,n!=n*(n-1)!.
也可以用以下这种算法:
i=2;sum=1
sum=sum*i
i+=1
第3个回答  2007-01-09
第3题“!”代表阶乘,“5!”就是1*2*3*4*5的积。本回答被提问者采纳
相似回答