首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写一个函数fun(),它的功能是将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转为整数的函数)。 例如,若输入字符串“-1234”,则函数把它转换为整数值 -1234。 注意:部分源程序给出如下。 请勿改动主函数main
请编写一个函数fun(),它的功能是将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转为整数的函数)。 例如,若输入字符串“-1234”,则函数把它转换为整数值 -1234。 注意:部分源程序给出如下。 请勿改动主函数main
admin
2010-05-05
70
问题
请编写一个函数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全国计算机二级
相关试题推荐
村民自治是中国共产党领导亿万农民发展中国特色社会主义民主政治的伟大创举。扩大农村基层民主,实行村民自治,大大激发了广大农民当家作主的积极性、创造性和责任感,掀开了中国农村民主政治建设的新篇章。下列关于村民自治的表述错误的一项是()。
党的十八大提出的“四个监督”的内容是()。
中国探月计划迅速发展,下列对中国航天领域描述错误的是()。
下列应对自然灾害的做法,错误的是()。
国家机构是我国宪法的主要内容之一。下列有关国家机构的说法正确的是()。
某甲在银行取款时,银行工作人员因点钞失误多付给他1万元,甲以这1万元作本钱经商,获利5千元,其中2千元为其劳务管理费用成本。一个月后银行发现了多付款的事实,要求甲退回,甲不同意。下列有关该案的哪一表述是正确的?()
若奇数x是N个不同正奇数之和,且121≤x<169,那么N最大为多少?
如下图,自行车每节链的长度为2.5cm,重叠部分的圆的直径为0.8cm,如果某种型号自行车的链条(没有安装前)由60节链条组成,那么链条的总长度是()。
小明买了7本书共花去100元,后发现有一本书质量有问题,故补了若干元换了另外一本书。回来后发现,退换后7本书的价格成等差数列且均为整数元,而最贵的书价格为26元,问最便宜的书多少钱?()
随机试题
关于国家对数字出版产品的管理,说法正确的是()。
Themusclesofthebodyactuallyparticipateinthementalprocessofthinking______,butthisparticipationbecomeslessobviou
呼吸衰竭缺氧伴CO2潴留患者不可能出现
患者最可能的诊断为患者首选的治疗药物是
多层螺旋CT与单层螺旋CT相比,硬件方面最大的改进是
下列有关慢性胃炎的预防措施不恰当的是()
制冷系统管路的阻力会导致压缩机的排气压力(),吸气压力()。
根据证券法律制度的规定,下列各项中,属于不得收购上市公司的情形有()
Whatvocabularylearningstrategydoesthefollowingactivityhelptotrain?Theteachercreatedasituationandaskedstudents
私德是指人们在不直接涉及对社会整体的义务和责任的私人生活和私人交往中应当遵循的道德准则,主要包括个人生活习惯、行为风度、性格特点以及处理爱情、婚姻、家庭问题的道德等。 根据上述定义,下列不属于私德的是()。
最新回复
(
0
)