首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODI1.C中函数fun的功能是:从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中。高位仍在高位,低位仍在低位。 例如,当s中的数为:7654321时,t中的数为:7531。 请改正程序中的错误,使它能得出正确的结果。
给定程序MODI1.C中函数fun的功能是:从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中。高位仍在高位,低位仍在低位。 例如,当s中的数为:7654321时,t中的数为:7531。 请改正程序中的错误,使它能得出正确的结果。
admin
2017-11-27
43
问题
给定程序MODI1.C中函数fun的功能是:从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中。高位仍在高位,低位仍在低位。
例如,当s中的数为:7654321时,t中的数为:7531。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
/************found************/
void fun (long s, long t)
{ long sl=10;
*t = s % 10;
while (s > 0)
{ s = s/100;
*t = s%10 * s1 + *t;
/************ found************/
sl = sl*100;
}
}
main ()
{ long s, t;
printf("\nPlease enter s:");
scanf("%ld", &s);
fun(s, &t);
printf("The result is: %ld\n",t);
}
选项
答案
(1)void fun (long s, long *t) (2)s1=s1*10;
解析
(1)根据“*t=s%10”判断,t应该是个指针变量,所以“void fun(long s,long t)”语句中的t只需改为“void fun(long s,long *t)”。
(2)分析函数内的循环过程可知s1的用途是每次将*t扩大,记录每次得到的奇数位的数字的权值,s1的权值每次增加1位,因此,第二个标识下应该是“s1=s1*10;”。
转载请注明原文地址:https://kaotiyun.com/show/o9xp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
设变量a和b已定义为int类型,若要通过scanf(“a=%d,b=%d”&a,&b);语句分别给a和b输入1和2,则正确的数据输入内容是【】。
在面向对象方法中,类的实例称为_________。
以下程序:#includemain(){charstr[10];scanf(“%s”,&str);printf(“%s\n”,str);}运行上面的程序,输入字符串.how
以下程序的定义语句中,x[1]的初值是_________,程序运行后输出的内容是___________。#ineludemain(){intx[]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
uniondt{inta;charb;doublec;}data;以下叙述中错误的是
若在定义语句:inta,b,C,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是()。
先有两个C程序文件T18.c和myfun.c同在TC系统目录(文件夹)下,其中Tl8.c文件如下:#include#include“myfun.C”main(){fun();printf(“\n”);}//
下列不属于软件工程的3个要素的是()。
用筛选法可得到2~n(n
用筛选法可得到2~n(n
随机试题
拓宽沟通渠道,需要()
.下列哪一项不是肾病性水肿的机制
X企业年收入上千亿,业务种类繁多,为了方便结算需要,开立了多个基本存款账户。()
下列关于股东财富最大化的表述中,不正确的是()。
在仓储环节中,主要的搬运设备有()。
段落的标记是在输入()后产生的?
在while型循环结构中,______。
与“SELECT*FROM教师表INTODBFA”等价的语句是()。
下列四条叙述中,正确的一条是()。
—Haven’tyoufinishedreadingthebook?—No,I’llfinishin______twodays.
最新回复
(
0
)