首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码。补充函数convert(long S,long*str),使之从低位开始取出长整型变量S中奇数位上的数,依次存放在数str中。 例如,当S中的数为:7654321时,
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码。补充函数convert(long S,long*str),使之从低位开始取出长整型变量S中奇数位上的数,依次存放在数str中。 例如,当S中的数为:7654321时,
admin
2015-05-30
80
问题
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码。补充函数convert(long S,long*str),使之从低位开始取出长整型变量S中奇数位上的数,依次存放在数str中。
例如,当S中的数为:7654321时,str中的数为:7531。
注意:请勿改动主函数。
1 #include
2 void convert(10ng S,long*str)
3 {
4
5 }
6 void mein()
7 {
8 long s,res;
9 cout<<"Please enter s:"<
10 cin>>s;
11 convert(s,&res);
12 cout<<"The result is:"<
13 return;
14 }
选项
答案
1 long S1=10; 2 *str=s%10;//先取个位数 3 while(S>0) 4 { 5 S=s/100 ; //每次除以100, 6 *str=s%10*s1+*Str; //取除以100后的个位数,str增加1位 7 sl=sl*10; 8 }
解析
函数convert(long S,long*str)的功能是从低位开始取出长整型变量s中奇数位上的数,依次存放在str中,即取s的个位数、百位数、万位数……,先取个位数,然后每次取奇数位的数相当于s每次除以100后的个位数,因此可用循环来实现。
[解题思路]
(1)由审题分析可知,奇数位即为个位数、百位数、万位数……,取个位数比较简单,s%10便得到了个位数。获取百位数可由s/100后,再和10取余得到,同样万位数可由s/10000,再和10取余得到,从百位数开始后面的奇数位都是在上次的基础上再除以100后再取余数,因此可利用循环。
(2)在循环外先取S的个位数,然后进入循环,s=s/100,获取除以100的个位数方法为s%10,这个数是*str的高一位,乘以它所在*str中的位置的权值,然后和以前的值相加便得到这次*str值,如此循环,直到S为0为止。
转载请注明原文地址:https://www.kaotiyun.com/show/VPNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
定义类对象时自动调用【】为类对象中的数据成员赋初值。
下面四个选项不属于表达式语句的是______。
下列关于数组的描述正确的是()。
以下()成员函数表示纯虚函数。
下列语句中,错误的是()。
下列函数原型声明中错误的是()。
对于只在表的首、尾两端进行插入操作的线性表,宜采用的存储结构为【】。
在C++语言中,唯一的一个三目运算符是【】。
函数模板______。
在计算机中,算法是指
随机试题
简述预算编制和执行中的局限性。
A、还少丹B、洗心汤C、七福饮D、导痰汤E、温胆汤治疗帕金森病风痰阻络证,宜选
建设行政主管部门监督招标投标活动的工作人员可以( )。
()是国家宏观经济政策的制定者,是一国证券市场上有关信息的主要来源。
解决问题的基本过程是()。
左边给定的是纸盒的外表面,下面哪一项能由它折叠而成?
20,42,72,110,()。
Energywillbeoneofthedefiningissuesofthiscentury.Onethingisclear:theeraof(1)_____oilisover.Whatwealldon
若有定义语句:intm[]={5,4,3,2,1},i=4;,则下面对m数组元素的引用中错误的是()。
A、It’ssummervacation.B、It’stooold.C、It’stooexpensive.D、Theyliveinthedorm.A题目问Laura为什么觉得学生不会买家具。对话中Laura建议David对于家具
最新回复
(
0
)