如果下面百位和10位不取余可也以嗎
#include <stdio.h>
int main()
{
? ? //定義三位數(shù)num,個(gè)位數(shù)sd,十位數(shù)td,百位數(shù)hd
? ? int num, sd, td, hd;
? ? //循環(huán)所有三位數(shù)
? ? for(num = 100 ; num < 1000 ; num++)
? ? {
? ? ? ? //獲取三位數(shù)字num百位上的數(shù)字
? ? ? ? hd =? num/100%10? ? ?;
? ? ? ? //獲取三位數(shù)字num十位上的數(shù)字
? ? ? ? td =? ? num/10%10? ? ? ? ? ? ?;
? ? ? ? //獲取三位數(shù)字num個(gè)位上的數(shù)字
? ? ? ? sd =? ? ?num%10? ? ? ? ? ? ;
? ? ? ? //水仙花數(shù)的條件是什么?
? ? ? ? if( num==hd*hd*hd+td*td*td+sd*sd*sd? ? ? ? ? ? ? )?
? ? ? ? {
? ? ? ? ? ? printf("水仙花數(shù)字:%d\n", num);? ??
? ? ? ? }
? ? }
? ? return 0;? ??
}
2019-10-15
首先這段hd =? num/100%10? ? ?;的代碼后面的10%沒有意義是對(duì)于的,因?yàn)樗f的水仙花數(shù)是3位數(shù),除以100直接就是百位,所以一定是個(gè)位數(shù),因此在%10的話一定是它本身的個(gè)位數(shù),%10完全可以不寫。
然后td=num/10%10這段代碼是可以的,因?yàn)?%同等級(jí),從左向右計(jì)算,/10得十位數(shù),所以一定是個(gè)兩位數(shù),個(gè)位不用管,%10得出的就是十位數(shù)了。