求最大阶乘数
分别接受从键盘输入的四种数据类型的整数!求每种数据类型的最大阶乘数!求到老们帮忙!!! 问题描述不清楚。输入的是数据类型,还是整数?
哪四种类型?
求的是输入的四个整数的阶乘,还是四个整数所属等的类型的最大阶乘数? sunrise085 发表于 2020-3-16 14:28
问题描述不清楚。
输入的是数据类型,还是整数?
哪四种类型?
大佬求的是四个整数所属等的类型的最大阶乘数
应该就是int byte float double 这四种 本帖最后由 jackz007 于 2020-3-16 15:28 编辑
#include <stdio.h>
main()
{
unsigned chara , ka ;
unsigned short b , kb ;
unsigned int c , kc ;
unsigned long long d , kd ;
for(ka = 2 , a = 1 ; ka <= 0xff / a ; a *= ka ++) ;
for(kb = 2 , b = 1 ; kb <= 0xffff / b ; b *= kb ++) ;
for(kc = 2 , c = 1 ; kc <= 0xffffffff / c ; c *= kc ++) ;
for(kd = 2 , d = 1 ; kd <= 0xffffffffffffffff / d ; d *= kd ++) ;
printf("char : ka = %2d , a = %d\n" , ka - 1 , a) ;
printf("short : kb = %2d , b = %d\n" , kb - 1 , b) ;
printf("int : kc = %2d , c = %d\n" , kc - 1 , c) ;
printf("long long : kd = %2I64u , d = %I64u\n" , kd - 1 , d) ;
}
编译、运行实况:
C:\Bin>g++ -o x x.c
C:\Bin>x
char : ka =5 , a = 120
short : kb =8 , b = 40320
int : kc = 12 , c = 479001600
long long : kd = 20 , d = 2432902008176640000
C:\Bin> 本帖最后由 jackz007 于 2020-3-16 15:24 编辑
1556134029 发表于 2020-3-16 14:36
大佬求的是四个整数所属等的类型的最大阶乘数
应该就是int byte float double 这四种
四种整型数应该是 unsigned char 、unsigned short 、unsigned int 、unsigned long long。
float 和 double 不属于整型数!!! jackz007 发表于 2020-3-16 15:23
四种整型数应该是 unsigned char 、unsigned short 、unsigned int 、unsigned long long。
...
谢谢大佬了
jackz007 发表于 2020-3-16 15:23
四种整型数应该是 unsigned char 、unsigned short 、unsigned int 、unsigned long long。
...
感谢
页:
[1]