首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写一个函数fun(),它的功能是将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转为整数的函数)。 例如,若输入字符串“-1234”,则函数把它转换为整数值 -1234。 注意:部分源程序给出如下。 请勿改动主函数main
请编写一个函数fun(),它的功能是将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转为整数的函数)。 例如,若输入字符串“-1234”,则函数把它转换为整数值 -1234。 注意:部分源程序给出如下。 请勿改动主函数main
admin
2010-05-05
61
问题
请编写一个函数fun(),它的功能是将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转为整数的函数)。
例如,若输入字符串“-1234”,则函数把它转换为整数值 -1234。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include <stdio.h>
#include <string.h>
long fun(char *p)
{
}
main ( )
{
char s[6];
long n;
printf("Enter a string:\n");
gets(s);
n=fun(s);
printf("%ld\n",n);
}
选项
答案
long fun (char *p) { long n=0; int flag=1; if(*p==’-’) /*负数时置flag为-1*/ {p++;flag=-1;} else if(*p==’+’) /*正数时置flag为1*/ p++; while(*p!=’\0’) {n=n*10+*p-’0’; /*将字符串转成相应的整数*/ p++; } return n*flag; }
解析
if()的作用是判断它是正数还是负数。while()循环的作用是将字符串转成相应的整数。注意*p是一个字符如’9’, ’4’,并不是一个数,要将其转成相应的数字必须令其减去’0’(不是’\0’),即*p-’0’就得到*p这个字符的相应数字。如’0’-’0’=0, ’8’-’0’=8等。必须在程序的前面加#include<stdlib.h>,函数atol()的作用是将字符串p转成长整型数,它是一个库函数。
转载请注明原文地址:https://www.kaotiyun.com/show/iHID777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
村民自治是中国共产党领导亿万农民发展中国特色社会主义民主政治的伟大创举。扩大农村基层民主,实行村民自治,大大激发了广大农民当家作主的积极性、创造性和责任感,掀开了中国农村民主政治建设的新篇章。下列关于村民自治的表述错误的一项是()。
下面关于蛋白质分子结构与功能的叙述。错误的是()。
张某在路上发现有小偷正在对行人李某行窃,便立刻上前阻止.结果被该小偷用刀刺伤。张某共花费医疗费用5万元。针对该情况,下列表述中正确的是()。
根据我国《宪法》规定,决定战争与和平问题的职权由()。
下列诗句反映的历史按照先后顺序排列正确的是()。①南朝四百八十寺,多少楼台烟雨中②暖风熏得游人醉,直把杭州作汴州③若无水殿龙舟事,共禹论功不较多④封侯非我意,但愿海波平
行政行为作出后,非依法定程序不得随意变更或撤销,这是行政行为的()。
按照我国有关的法律规定,遗产继承的第一顺序继承人为()。
消化系统是保证人体新陈代谢正常进行的一个重要系统,是由消化管和消化腺两大部分组成,下列器官或腺体不属于消化系统的是()。
如下图,自行车每节链的长度为2.5cm,重叠部分的圆的直径为0.8cm,如果某种型号自行车的链条(没有安装前)由60节链条组成,那么链条的总长度是()。
随机试题
违法行为构成犯罪,人民法院判处拘役或者有期徒刑时,行政机关已经给予当事人行政拘留的,可以不再追究刑事责任。
在感知觉发育上,预计6个月的婴儿可以达到的水平为
路肩工程可作为路面工程的一个()进行检查评定。
按照我国现行规定,建设工程严重质量事故的调查组由()。
在下列法的各项分类中,以法的创制形式和发布形式为标准进行分类的是()。
南京市明清三大景观包括()。
对社会政策进行评估需要采用一定的标准。评判某项社会政策的投入产出率高低,属于()。[2008年真题]
在医务社会工作中,社会工作者要为因疾病而面临危机处境的病人及其家属进行危机干预。在危机干预时,要强调介入的()。
下列关于公务员职务升降的做法,错误的是()。
A当B打算C睡觉D派E爱好F大概例如:A:你有什么(E)?B:我喜欢体育。A:最近工作很难找,你找得怎么样了?B:我在一家旅游公司给旅行团()导游。
最新回复
(
0
)