以下程序的输出结果是【18】。unsigned fun6(unsigned num){ unsigned k=1;do{k *=num;num/=10;}while (num);return k;}main(){ unsigned n=26;printf("%d\n", fun6(n));}

题目

以下程序的输出结果是【18】。

unsigned fun6(unsigned num)

{ unsigned k=1;

do{k *=num;num/=10;}

while (num);

return k;

}

main()

{ unsigned n=26;

printf("%d\n", fun6(n));

}


相似考题
更多“以下程序的输出结果是【18】。 unsignedfun6(unsignednum) {unsignedk=1; do{k*=num;num/ ”相关问题
  • 第1题:

    以下程序的输出结果是【】。 include unsigned fun (unsigned num) {unsigned k=1; do{

    以下程序的输出结果是 【 】 。

    include<iostream.h>

    unsigned fun (unsigned num)

    {unsigned k=1;

    do{k*=num%10;num/=10;} while(num);

    return k;

    }

    void main( )

    { unsigned n=26;

    cout <<fun(n) <<end1


    正确答案:12
    12 解析:函数有一个形参num,循环前变量k置1,循环中,表达式num%10是取num的个位,将num的个位值累乘于k中,然后num除以10。循环直至num为0结束,这是逐一求出num十进制表示的各位数字,并累乘于变量k的循环。函数最后返回k。函数fun的功能是求整数的各位十进数字积。

  • 第2题:

    以下程序的输出结果是【】。include unsigned frn(ullsigned num) { unsi9ned k=1; do{

    以下程序的输出结果是【 】。

    include<iostream.h>

    unsigned frn(ullsigned num)

    { unsi9ned k=1;

    do{k*=num%10;num/=10;} while(num);

    return k;

    }

    void main()

    { unsigned n=26;

    cout<<fun(n) <<endl;

    }


    正确答案:12
    12 解析:函数有一个形参num,循环前变量k置1,循环中,表达式nora%10是取num的个位,将num的个位值累乘于k中,然后num除以10。循环直至num为0结束,这是逐一求出num十进制表示的各位数字,并累乘于变量k的循环。函数最后返回k。函数fun的功能是求整数的各位十进数字积。

  • 第3题:

    下面程序的输出结果是【 】。

    unsigned fun6(unsigned num)

    { unsigned k=1;

    do { k*=hum%10;

    num/=10;}while(num);

    return(k); }

    main()

    { unsigned n=26;

    printf("%d\n",fun6(n));}


    正确答案:12
    12 解析:do…while循环的一个比较显著的特点是:先执行一次循环体然后再判断循环的条件是否满足,若满足则接着进入下一次循环,否则就退出循环。注意:3种循环结构的比较。

  • 第4题:

    下面程序的输出结果是_______。 unsigned fun(unsigned num) { unsigned k=1; do { k*=num%10; num/=10; }while(num); return(k); } main() { unsigned n=26; printf("%d\n",fun(n)); }

    A.0

    B.4

    C.12

    D.无限次循环


    正确答案:C
    解析:本题定义了一个fun函数,用于num求和,具体执行过程如下:
      num=26:k=k*(num%10)=1*(26%10),所以k=6,num=num/10=2;
      num=2:k=k*(num%10)=6*(2%10),所以k=12,num=num/10=0);
      num=O:while条件不成立,所以返回k的值12。

  • 第5题:

    以下程序的输出结果是unsigned fun6(unsigned num){ unsigned k=1; do{k *=num%10;num/=10;} while (num); return k;}main(){ unsigned n=26; printf("%d\n", fun6(n));}


    正确答案:12
    在本题中,程序首先定义了一个返回类型为无符号型的函数fun6,函数带有一个无符号型的变量num。在主函数中,首先定义一个无符号型的变量n,并初始化为26,然后执行输出语句,从输出语句的输出格式我们可以知道输出的是一个整数,从输出语句的输出列表我们可以知道,输出的是fun6函数的返回值,即调用fun6函数,其传递的参数是26。
    在fun6函数中,首先定义一个变量k,并初始化为1,然后执行do…while循环,循环结束的条件为形参变量num的值为0。
    第一次循环时,k *=num%10等于k=k*(num%10)=1*6=6,然后num的值被改变为26/10=2,由于此时num的值仍大于0,进行第二次循环。
    第二次循环时,变量k的值为6*(2%10)=12,然后num的值被改变为2/10=0,此时由于num的值为0,循环结束。然后返回变量k的值并输出。
    因此,程序最后的输出结果是12。