首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODI1.C中函数fun的功能是:从低位开始依次取长整型变量s中奇数位上的数,构成一个新数放在t中(注意:位置从0开始计算)。 例如: 输入:12345678,则输出:1357 输入:123456789,则输出:2468
给定程序MODI1.C中函数fun的功能是:从低位开始依次取长整型变量s中奇数位上的数,构成一个新数放在t中(注意:位置从0开始计算)。 例如: 输入:12345678,则输出:1357 输入:123456789,则输出:2468
admin
2020-06-02
40
问题
给定程序MODI1.C中函数fun的功能是:从低位开始依次取长整型变量s中奇数位上的数,构成一个新数放在t中(注意:位置从0开始计算)。
例如:
输入:12345678,则输出:1357
输入:123456789,则输出:2468
请改正函数fun中指定部位的错误,使它能得出正确的结果。
注意:不要改动mmn函数,不得增行或删行,也不得更改程序的结构!
#include<stdio.h>
#pragma warning(disable:4996)
void fun(long s,long*t)
{ long sl=10;
s/=10;
/*********found*********/
*t=s/10;
while(s>0) {
s=s/100;
/*********found*********/
t=s% 10*sl+t;
/*********found*********/
sl/=10;
}
}
main()
{ long s,t;
printf("”\nPlease enter long number:");
scanf("%ld",&s);fun(s,&t);
printf("The result is:%ld\n",t);
}
选项
答案
(1)*t=s%10; (2)*t=s%10*sl+*t; (3)sl*=10;
解析
fun()函数中,S是待处理的数,t是用来存放新数的指针,sl表示当前数字在新数中某位上的基数。由于题意从S的低位到高位从0开始,所以第1个奇数位是S的十位数字,需要将S除以10去掉个位数字,sl赋初值为十位的基数10,将处理后的S的个位数字存放到指针t中。接着通过while循环,每次将S除以100,跳过偶数位上的数字,然后将奇数位上的数字乘以对应的基数s1后,与t指向的数累加,重新存放到指针t中,并将基数s1乘以10,表示下一位的基数,直s为0。
转载请注明原文地址:https://jikaoti.com/ti/A4G0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若要求定义具有10个int型元素的一维数组a,则以下定义语句中错误的是()。
有以下程序:#include<stdio.h>main(){intx=8;for(;x>0;x--){if(x%3){printf("%d,",x--);continue;}printf("%d,",--x);}}程序的运行
有以下程序:#include<stdio.h>main(){intk=5:while(-k)printf("%d",k-=3);printf("\n");}执行后的输出结果是()。
设有定义:inta=1,b=2,c=3;以下语句中执行效果与其他3个不同的是()。
有以下程序:#include<stdio.h>intfun(){staticintx=1;x*=2:returnx;}main(){inti,s=1;for(i=1;i<=3;i++)s*=fun();printf("%d\
设有如下函数定义:#include<stdio.h>intfun(intk){if(k<1)return0;elseif(k==1)return1;elsereturnfun(k-1)+1;}若执行调用语句n=fun(3);,则函数
在容量为15的循环队列中,若头指针front=6,尾指针rear=9,则循环队列中的元素个数为
有以下程序#includemain(){inti,s=1:intfun(){staticintx=1;for(i=1;i
若有以下函数首部intfun(doublex[10],int,*n)则下面针对此函数的函数声明语句中正确的是
随机试题
真理是人造的供人使用的工具的看法是()。
氧热价是指【】
A.侧脑室B.第三脑室C.中脑导水管D.第四脑室E.中央管环绕丘脑中间块周围的脑室称为
督脉主治
根据合同法律制度的规定,下列关于委托合同的表述中,正确的是()。(2015年)
摄入性会谈中,通常使用封闭式提问的目的是()。
1949年10月1日,中华人民共和国成立。当时一些报刊评论说,“中国人民站起来了”。这句话的含义之一是()。
某次知识竞赛的决赛有3人参加.规则为12道题每题由1人以抢答方式答题,正确得10分。错误扣8分。如果最后所有人得分都是正分,且回答问题最多的人是得分最少的人,那么前两名之间的分差最多为多少分?()
社会意识相对独立性最突出的表现是()。
Itisimperativethatyou_______youresignationbeforeFriday.
最新回复
(
0
)