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次,每次得到的结果相乘。输出阶乘。
點擊查看更多內(nèi)容
1人點贊
評論
評論
共同學習,寫下你的評論
評論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦