首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,其功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。例如,若输入字符串“-1234”,则函数把它转换为整数值-1234。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中
请编写函数fun,其功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。例如,若输入字符串“-1234”,则函数把它转换为整数值-1234。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中
admin
2020-06-16
50
问题
请编写函数fun,其功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。例如,若输入字符串“-1234”,则函数把它转换为整数值-1234。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
1 #include<stdio.h>
2 #include<string.h>
3 long fun(char*p)
4 {
5
6 }
7 void main()
8 {
9 char s[6];
10 long n;
11 printf("Enter a string:\n’’);
12 gets(s);
13 n=fun(s);
14 printf(’’%1 d\n’’,n);
15 }
选项
答案
1 long fun(char*p) 2 { 3 long n=0; 4 int flag=1; 5 if(*p==’0’)/*负数时置flag为-1*/ 6 (p++;flag=-1;} 7 else if(*p==’+’)/*正数时置flaq为1*/ 8 p++; 9 while(8p!=’\0’) 10 {n=n*10+*p-’0’;/*将字符串转成相应的整数*/ 11 p++; 12 } 13 return n*flag; 14 }
解析
if语句的作用是判断该字符串为正数还是负数,while循环的作用是将字符串转成相应的整数。注意:*p是一个字符(例如’9’、’4’),并不是一个数,要将其转成相应的数字需令其减去’0’(不是’\0’),即*p-’0’就得到*p这个字符的相应数字,例如’0’-’0’=0、’8’-’0’=8等。必须在程序的前面加#include
,函数atol的作用是将字符串转换成长整型数,它是一个库函数。
转载请注明原文地址:https://kaotiyun.com/show/RYCp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序#include#include"string.h"typedefstruct{charname[9];charsex;floatscore[2];)STU;voidf(STUa)
有以下定义和语句:structworkers{intnum;charname[20];charc;struct{intday;intmonth;intyear;}s;};structwork
有两个关系R和S如下:则由关系R得到关系S的操作是
在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是
在关系数据库中,用来表示实体间联系的是
以下选项中函数形参不是指针的是
有以下程序#includemain(){charc1,c2,c3,c4,c5,c6;scanf("%c%c%c%c",&c1,&c2,&c3,&c4);c5=getchar();c6=getchar()
下列叙述中正确的是
下列给定程序中,规定输入的字符串全部为字母,fun函数的功能是:统计a所指字符串中每个字母在字符串中出现的次数(统计时不区分大小写),并将出现次数最多的字母输出(如果有多个相同,输出一个即可)。例如对于字符串”dadbcdbabdb”,对应的输出应为
在软件设计阶段不使用
随机试题
男性患儿,7岁;无意中发现右上腹肿块,光滑、呈大结节状,无压痛;BP130/90mmHg;血红蛋白90g/L;血生化及电解质均正常。家长曾两次发现肿块明显小于平常所见。最合适的治疗方案为
债权人投保债务人的信用风险的,为保证保险;债务人为自己的信用投保的,是信用保险。()
下列关于沉井基础叙述正确的有()。
编译软件属于()。
以下关于期权交易的说法,正确的是()。[2010年6月真题]
( )是调整在国家与国际社会协调相关税收过程中所产生的国家涉外税收征纳关系和国家间税收分配关系的法律规范的总称。
接到带团任务后,导游工作的第一步是()。
数值型数据的分组方法有哪些?简述组距分组的步骤。
(2006年试题,一)设函数在x=0处连续,则a=__________.
Readthetextbelowaboutagreatgift.Inmostofthelines(34-45)thereisoneextraword.Itiseithergrammaticallyincorrect
最新回复
(
0
)