问答详情
源自:4-9 循环结构之for循环(二)

求解,为什么运行成功输出错误

#include <stdio.h>
int main()
{
    //定义三位数num,个位数sd,十位数td,百位数hd
    int num, sd, td, hd;
    //循环所有三位数
    for(num=100;num<1000;num++)
    {
        //获取三位数字num百位上的数字
        hd =num/100;
        //获取三位数字num十位上的数字
        td =(num-hd*100)%10;
        //获取三位数字num个位上的数字
        sd =num-100*hd-10*td;
        //水仙花数的条件是什么?
        if(num==hd*hd*hd+td*td*td+sd*sd*sd)
        {
            printf("水仙花数字:%d\n", num);   
        }
    }
    return 0;   
}

提问者:跌撞了流年丢了她 2019-10-30 21:35

个回答

  • 咖啡味的格子衬衫
    2019-10-30 22:28:47
    已采纳

    td =(num-hd*100)%10;


    这个地方的%要改成/

  • 聪明db
    2019-10-31 10:12:05

    //获取三位数字num十位上的数字
            td =(num%100)/10;
     //获取三位数字num个位上的数字
            sd =(num%10);

    试试这样