float num; int sum=1 ; printf("请输入一个数算其阶乘:"); scanf("%f", &num); int input = (int)num; if ((num-input)==0) { if (input == 0 || input == 1) { printf("阶乘为:1"); } else { for (int i = 1; i <= input; i++) { sum = sum * i; } printf("阶乘为:%d\n", sum); } }else{ printf("请输入一个整数!"); }
首先输入数需要考虑整数和浮点数,先令初始状态输入数为浮点类型。
将输入数强制转化成整型,int型只取整数部分,输入数与整数部分相减==0既为输入的是整数,若非0则提示输入一个整数!
先排除输入的整数为0和1的情况,此时两个数的阶乘为1,为特殊值,单独输出。
算阶乘则利用for循环,i=1;i<=input;(input为强制转换后的整数),循环input次,每次得到的结果相乘。输出阶乘。
點(diǎn)擊查看更多內(nèi)容
1人點(diǎn)贊
評(píng)論
評(píng)論
共同學(xué)習(xí),寫(xiě)下你的評(píng)論
評(píng)論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得
100積分直接送
付費(fèi)專(zhuān)欄免費(fèi)學(xué)
大額優(yōu)惠券免費(fèi)領(lǐng)