首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中,函数fun的功能是将a和b所指的两个字符串转换成面值相同的整数,并进行相加作为函数值返回,规定字符串中只含9个以下数字字符。 例如,主函数中输入字符串:32486和12345,在主函数中输出的函数值为:44831。 请在程序的下
给定程序中,函数fun的功能是将a和b所指的两个字符串转换成面值相同的整数,并进行相加作为函数值返回,规定字符串中只含9个以下数字字符。 例如,主函数中输入字符串:32486和12345,在主函数中输出的函数值为:44831。 请在程序的下
admin
2015-06-08
21
问题
给定程序中,函数fun的功能是将a和b所指的两个字符串转换成面值相同的整数,并进行相加作为函数值返回,规定字符串中只含9个以下数字字符。
例如,主函数中输入字符串:32486和12345,在主函数中输出的函数值为:44831。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANKl.C中。
不得增行或删行,也不得更改程序的结构!
#include
#include
#include
#define N 9
long ctod(char *s)
{long d=0 ;
while(*s)
if(isdigit(*s)){
/**********found***********/
d=d*10+*s-___1___;
/**********found***********/
___2___;)
return d;
}
long fun(char * a,char * b)
{
/**********found***********/
return ___3___;
}
main()
{ char s1[N],s2[N];
do
{printf(“Input string s 1:”);
gets(s1);)
while(strlen(s1)>N);
do
{printf(“Input string s2:”);
gets(s2);)
while(strlen(s2)>N);
printf(“The result is: %ld\n”,
fun(s1,s2));
}
选项
答案
(1)‘0’ (2)s++ (3)ctod(a)+ctod(b)
解析
本题中函数fun的功能是将a和b所指的两个字符串转换成对应值的整数并进行相加作为函数值返回,函数ctod(char*s)的功能是将字符串转化为long整型,故在fun函数内调用ctod函数完成字符串到整数的变换,然后求和即可。
[解题思路]
第一空:举例说明ctod内循环的作用,例如将字符串“123”转换为数亨时:第一次进入循环时,*s等于字符“1”,d应等于0*10+1,第一空处是将字符变成数字,字符“1”变成数字1可由字符“1”减去字符“0”得到,故第一空处应为“‘0’”。;
第二空:s是数组指针,在循环中s不断往后移动直至到达数组结束,故第二窄处应为“s++”。
第三空:由审题分析可知,在fun函数内两次调用ctod函数完成字符串到整数的变换,然后求和,故第三空处为“ctod(a)+ctod(b)”。
转载请注明原文地址:https://kaotiyun.com/show/xaJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下面程序的输出结果是______。main(){charstr[10],c=’a’;inti=0;for(;i<5;i++)str[i]=C++;printf("%s",str);}
有如下程序:longfib(intn){if(n>2)return(fib(n-1)+fib(n-2));elsereturn(2);}main(){printf("%ld\n",fib
有以下程序:int*f(int*x,int*y){if(*x<*y)returnx;elsereturny;}main(){inta=7,b=8,*p,*q,*r;p=&a;q=
有如下程序intfunc(inta,intB){return(a+B);}main(){intx=2,y=5,z=8,r;r=func(func(x,y),z);prin
下面invert函数的功能是将一个字符串str的内容颠倒过来。请填空。 #include<string.h> voidinvert(charstr[]) {inti,j【】; for(i=0,j=strlen(str)
注释说明了程序的功能,它分为【】注释和功能性注释。
以下程序的输出结果是_______。main(){intw=5;fun(w);printf("\n");}fun(intk){if(k>0)fun(k-1);printf("%d",k);
请选出以下程序的输出结果_______。#include<stdio.h>sub(int*s,inty){staticintt=3,y=s[t];t-;}main(){inta[]={
设变量x为float型且已经赋值,则以下语句中能够将x中的数值保留到小数点后面两位,并将第三位四舍五入的是_______。
随机试题
某永续年金每年年末的收入为15000元,利息率为10%,则其现值为()
焊料焊接中,焊料流布的特点
某海港重力式码头为水下沉箱式条形基础,沉箱底设有抛石基床,厚度d1=2m,抛石基床底面的受压宽度B’1=9.2m。在抛石基床下换填砂垫层,厚度d2=2m。砂垫层底面有效受压宽度B’’e=11.5m。砂垫层重度标准值γ2=20kN/m3。砂垫层顶面
下面()不是取得注册测绘师资格应该具备的基本条件。
2016年6月,某公路施工企业购买某上市公司股票50万元并长期持有。根据企业会计准则及其相关规定,购买某上市公司股票属于()。
甲公司和乙公司均为增值税一般纳税人,土地使用权适用的增值税税率均为11%。2018年甲公司和乙公司发生如下交易:资料一:2018年1月3日,甲公司以银行存款购入用于公司绿化用地的一宗土地使用权,取得增值税专用发票,价款8000万元,增值税进项税额为88
《中华人民共和国旅游法》采取综合立法的模式。()
下列可用作switch(expression)语句参数的是
WhenwillDiana’svacationstart?
Withthedevelopmentoftelevision,entertainmenthasgrownmuchmorevisualincharacterandisdemandinglessandlessuseoft
最新回复
(
0
)