首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODI1.C中函数fun的功能是:从低位开始依次取长整型变量s中奇数位上的数,构成一个新数放在t中(注意:位置从开始计算)。 例如: 输入:12345678,则输出:1357 输入:123456789,则输出:2468 请改正函数fun中
给定程序MODI1.C中函数fun的功能是:从低位开始依次取长整型变量s中奇数位上的数,构成一个新数放在t中(注意:位置从开始计算)。 例如: 输入:12345678,则输出:1357 输入:123456789,则输出:2468 请改正函数fun中
admin
2022-04-02
28
问题
给定程序MODI1.C中函数fun的功能是:从低位开始依次取长整型变量s中奇数位上的数,构成一个新数放在t中(注意:位置从开始计算)。
例如:
输入:12345678,则输出:1357
输入:123456789,则输出:2468
请改正函数fun中指定部位的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include<stdio.h>
#pragma warning(disable:4996)
void fun(long s,long *t)
{long s1=10;
s/=10;
/**********found**********/
*t=s/10;
while(s>0){
s=s/100;
/**********found**********/
t=s%10*s1+t;
/**********found**********/
s1/=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*s1+*t; (3)s1*=10;
解析
fun()函数中,s是待处理的数,t是用来存放新数的指针,s1表示当前数字在新数中某位上的基数。由于题意从s的低位到高位从0开始,所以第1个奇数位是s的十位数字,需要将s除以10去掉个位数字,s1赋初值为十位的基数10,将处理后的s的个位数字存放到指针t中;接着通过while循环,每次将s除以100,跳过偶数位上的数字,然后将奇数位上的数字乘以对应的基数s1后,与t指向的数累加,重新存放到指针t中,并将基数s1乘以10,表示下一位的基数,直到s为0。
转载请注明原文地址:https://kaotiyun.com/show/Bhkp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下程序段中的变量已正确定义:for(i=0;i<4;i++,i++)for(k=1;k<3;k++);printf("*");程序段的输出结果是()。
设有定义:structcomplex{intreal,unreal;}data1={1,8},data2;则以下赋值语句中错误的是()。
有以下定义:inta;longb;doublex,y;则以下选项中正确的表达式是
设栈的存储空间为S(1:m),初始状态为top=m+1。经过一系列入栈与退栈操作后,top=m。现又在栈中退出一个元素后,栈顶指针top值为()。
以下选项中可用作C程序合法实数的是
对下列二叉树进行中序遍历的结果是
下面选项中的程序段,没有编译错误的是
以下错误的定义语句是
软件详细设计产生的图如下,该图是
两个或两个以上的模块之间关联的紧密程度称为()。
随机试题
浮点数的加减法运算需要经过_________几个步骤。
共产主义道德的核心()
可以导致多器官功能障碍综合征(MODS)的疾病中,不包括
若将1个完全被放射性标记的DNA分子放于无放射性标记的环境中复制三代后,所产生的全部DNA分子中,无放射性标记的DNA分子有几个
个人消费额度贷款主要用于满足借款人的消费需求,可先向银行申请有效额度,必要时使用,但不使用贷款也需要收取一定利息。()
运输就是使用运输工具对物品进行运送的活动,实现物流的时间效用。
A.术后48~72小时B.术后8天C.术后20天D.术后1~2个月E.术后5~6个月植皮术后血浆维持皮片的时间是()。
纵向研究能提供学习者不同发展期的语言素材,描述整个习得过程。
能打印出一个双引号的语句是System.out.println("______");。
A、 B、 C、 C过去时否定疑问句→省略yes的回答并且说明详细信息
最新回复
(
0
)