niusouti.com

给定程序MODl1.C中函数fun的功能是:从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中。高位仍在高位,低位仍在低位。例如:当s中的数为2736598时,t中的数为:2358。include<conio.h>include<stdio.h>/************found************/void fun(long s,long t){ long s1=10;*t=S%10;while(s>0){ s=s/l00;*t=S%10*s1+*t;/************fo

题目

给定程序MODl1.C中函数fun的功能是:从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中。高位仍在高位,低位仍在低位。例如:当s中的数为2736598时,t中的数为:2358。

include<conio.h>

include<stdio.h>

/************found************/

void fun(long s,long t)

{ long s1=10;

*t=S%10;

while(s>0)

{ s=s/l00;

*t=S%10*s1+*t;

/************found************/

s1=s1*100;

}

}

main()

{longs,t;

clrscr();

printf ("\nPlease enter s:”);

scanf("%ld",&s);

fun(s,&t);

printf("The result is:%1d\n",t);

}


相似考题
参考答案和解析
正确答案:void fun(long slong t) 改为 void fun(long slong*t) s1=s1*100; 改为 s1=s1*10;
void fun(long s,long t) 改为 void fun(long s,long*t) s1=s1*100; 改为 s1=s1*10; 解析:从fun函数可以看出,变量t应该是指针变量。因此,在形参表列中,t之前应该加“*”;从s中取出奇数位构建新数是逐位进行,而不是跳位的。因此,s1应该乘以10。
更多“给定程序MODl1.C中函数fun的功能是:从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数 ”相关问题
  • 第1题:

    下列给定程序中,函数fun的功能是:从低位开始依次取出长整型变量s中奇数位上的数,构成一个新数存放在t中。高位仍在高位,低位仍在低位。

    例如,当s中的数为7654321时,t中的数为7531。请改正程序中的错误,使它能得出正确的结果。

    注意:部分源程序在文件MODll.C中,不得增行或删行,也不得更改程序的结构!

    include<;stdi0.h>;


    正确答案:
    (1)void(long}t)(2)sl=sl·10;【考点分析】函数定义,指针型变量;数值n和其各个位如何表示。【解题思路】(1)主函数中调用函数的参数为地址,因此函数fun的形式参数应为指针类型。(2)重新组合一个数,从个位开始,然后十位,依次类推,因此每增加—位数,原数值需乘以10,即sl=sl}10;。

  • 第2题:

    给定程序MODll.C中函数fun的功能是:从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在1中。高位仍在高位,低位仍在低位。

    例如,当s中的数为:7654321时,t中的数为:7531。

    请改正程序中的错误,使它能得出正确的结果。

    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!


    正确答案:(1)void fun (10ng s long *t) (2)s1=s1*10;
    (1)void fun (10ng s, long *t) (2)s1=s1*10; 解析:本题中函数的功能是依次取出奇数位上的数。该题的解题思路主要是找出数字中的奇数位上的数。

  • 第3题:

    编写程序键盘输入整型变量n,从低位开始取出整型变量n偶数位上的数依次放在整型变量s中,然后输出s。


    scanf(“%d”, &n);

  • 第4题:

    下列给定程序中函数fun的功能是:将长整型数中各位上为奇数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。

    例如,当s中的数为87653142时,t中的数为7531。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MODll.C中,不得增行或删行,也不得更改程序的结构!


    正确答案:
    (1)}t=0;(2)if(d%21=0)或if(d%2==1)【考点分析】本题考查:指针型变量作为函数参数;if语句条件表达式,结合奇偶数的表示方法来确定该表达式内容。【解题思路】(1)由函数定义可知,变量t是指针变量,所以对t进行赋初值0是不对的。因为t指向的是存放新数的变量,所以此处应给新数赋初值0,即。t=0。(2)变量d表示数S各个位上的数,此处的if条件应为判断d是否为奇数。

  • 第5题:

    下列给定程序中,函数proc()的功能是:从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中。例如,当s中的数为l23456789时,t中的数为l3579。 请修改程序中的错误,使它能得到正确结果。 注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。 试题程序:


    正确答案:
    (1)错误:intproc(10ngS,long*t)
    正确:voidproc(10ngs,long*t)
    (2)错误:s=s%0100;
    正确:s=s/100;
    【解析】由主函数中的函数调用可知,函数proc()没有返回值,因此,“intproc(longs,long*t)”应改为“voidproc(longs,long*t)”。题目要求是把奇数位上的数找出构成
    一个新的数组,因此把“s=s%100;”改为“s=s/100;”。