首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODI1.C中函数fun的功能是:从低位开始依次取长整型变量s中奇数位上的数,构成一个新数放在t中(注意:位置从开始计算)。 例如: 输入:12345678,则输出:1357 输入:123456789,则输出:2468 请改正函数fun中
给定程序MODI1.C中函数fun的功能是:从低位开始依次取长整型变量s中奇数位上的数,构成一个新数放在t中(注意:位置从开始计算)。 例如: 输入:12345678,则输出:1357 输入:123456789,则输出:2468 请改正函数fun中
admin
2022-04-02
30
问题
给定程序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全国计算机二级
相关试题推荐
有以下程序#includemain(){inti=1;i=i^i;printf("%d\n",i);}程序运行后的输出结果是
有以下程序,程序的输出结果是voidfun(double*p1,double*p2,double*s){s=(double*)calloc(1,sizeof(double));*s=*p1+*(p2+1);}mai
有以下程序#includemain()voidfun(inta,intb){intc[10]={1,2,3,4,5,6,7,8,9,0),i;{intt;for(i=0;i
有以下定义:inta;longb;doublex,y;则以下选项中正确的表达式是
假定已建立以下链表结构,且指针p和q已指向如图所示的节点:则以下选项中可将q所指节点从链表中删除并释放该节点的语句组是
程序流程图中带有箭头的线段表示的是()。
下面对对象概念描述正确的是
已定义以下函数intfun(int*p){return*p;}fun函数返回值是
以下选项中关于C语言常量的叙述错误的是
随机试题
下列选项中,符合婚姻家庭制度基本原则的是()。
对进入新药临床试验的药物及病例选择应具备的条件,不正确的是
中性粒细胞碱性磷酸酶的活性明显增高见于
正态分布的数值变量资料,描述离散趋势的指标最好选用
指数体系的作用是( )。
下列法律中,不属于基本法律的是()。
子曰:“始吾于人也,听其言而信其行;今吾于人也,听其言而观其行。于予与改是。”这说明思想品德教育过程中必须贯彻()的原则。
()评价的相同缺陷是将人简单化、客体化,忽视人的主体性、创造性和不确定性。
捷克教育学家夸美纽斯高度评价教育,他把教师誉为()。
某企业财务系统的需求中,属于功能需求的是_____________。
最新回复
(
0
)