首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODI1.C中函数fun的功能是:从低位开始依次取长整型变量s中奇数位上的数,构成一个新数放在t中(注意:位置从0开始计算)。 例如: 输入:12345678,则输出:1357 输入:123456789,则输出:2468
给定程序MODI1.C中函数fun的功能是:从低位开始依次取长整型变量s中奇数位上的数,构成一个新数放在t中(注意:位置从0开始计算)。 例如: 输入:12345678,则输出:1357 输入:123456789,则输出:2468
admin
2020-06-02
41
问题
给定程序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全国计算机二级
相关试题推荐
下列定义数组的语句中错误的是()。
有以下程序:#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(intx,inty){if(x!=y)return((x+y)/2);elsereturn(x);}main(){inta=4,b=5,c=6;pfinff("%d\n
在线性表的链式存储结构中,其存储空间一般是不连续的,并且()。
设有栈S和队列Q,初始状态均为空。首先依次将A,B,C,D,E,F入栈,然后从栈中退出三个元素依次入队,再将X,Y,Z入栈后,将栈中所有元素退出并依次入队,最后将队列中所有元素退出,则退队元素的顺序为()。
有以下程序段:#include<stdio.h>intj;floaty;charname[50];seanf("%2d%f%s",&j,&y,name);当执行上述程序段时,从键盘上输入555667777abc后,y的值为()。
若有定义:doublea=22;inti=0,k=18;,则不符合C语言规定的赋值语句是()。
若有定义谙句:doublex[5]={1.0,2.0,3.0,4.0,5.0},*p=x;则错误引用x数组元素的是
程序流程图中带有箭头的线段表示的是
随机试题
管子和附件的()是为了设计、制造和维修的方便而人为地规定的一种标准直径。
黄韧带增厚主要原因是
使人群易感性降低的因素是
在证券经纪业务的要素中,()是指依国家法律、法规的规定,可以进行证券买卖的自然人或法人。
下列关于期货合约和远期合约的说法中,错误的是()
烟草批发企业将卷烟销售给其他烟草批发企业的,应缴纳消费税。()
课外、校外教育与课堂教学()
智力主要包括注意力、观察力、记忆力、思维力和想象力,其核心是()。
桌上放了8张扑克牌,都背向上,牌放置的位置如图所示。(有数字的方块为牌)现已知:(1)每张都是A、K、Q、J中的某一张;(2)这八张中至少有一张Q;(3)其中只有一张A;(4)所有的Q都夹在两张K之间;(5)至少有一张K夹在两张J之间;(6
Whyare"HowTo"booksingreatdemandintheUnitedStates?
最新回复
(
0
)