首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写一个函数fun(),它的功能是将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转为整数的函数)。 例如,若输入字符串“-1234”,则函数把它转换为整数值 -1234。 注意:部分源程序给出如下。 请勿改动主函数main
请编写一个函数fun(),它的功能是将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转为整数的函数)。 例如,若输入字符串“-1234”,则函数把它转换为整数值 -1234。 注意:部分源程序给出如下。 请勿改动主函数main
admin
2010-05-05
76
问题
请编写一个函数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://kaotiyun.com/show/iHID777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
根据国家区域发展总体战略,统筹考虑海岛的区位条件、发展潜力和生态环境容量,我国决定重点开发三大海(群)岛。下列不属于此开发对象的海(群)岛是()。
下面关于蛋白质分子结构与功能的叙述。错误的是()。
价格机制的核心内容是()。
区分国家性质的根据是()。
根据我国《宪法》规定,决定战争与和平问题的职权由()。
公开审判是指法院对案件的审理过程和判决结果向群众、向社会公开的制度,包括公开审理和公开宣判。下列关于公开审判制度的表述,哪一项是正确的?()
张某11周岁,小学五年级学生.经常在其学校门口的一家小卖部买零食和一些学习用品,部分赊账,年终时共欠小卖部340元。小卖部老板拿着账单要求张某父亲付款,遭到张某父亲拒绝。下列说法正确的是()。
某小学五年级的学生身高(按整数厘米计算),最矮的是138厘米,最高的是160厘米。如果任意从这些学生中选出若干人,那么,至少要选出多少人才能保证有5人的身高相同?
某密码由4位不同数字组成,已知各位密码之和为偶数,则密码有多少种?
中国哲学凝聚了中华文化的基本精神,是中华民族数千年文化发展的结晶。在西方文化中,宗教处于核心的地位,然而在中国文化中,宗教的功能基本上是由哲学承担的。自古以来,中国人对宇宙的看法,对人生的看法,他们生活的意义,他们的价值观念,他们赖以安身立命的终极根据,都
随机试题
单跳形式的VSAT卫星通信网络在物理结构上又称为()
肺部真菌感染增多与哪些因素有关
女子婚后未避孕,有正常性生活,丈夫查精液常规正常,同居2年未受孕者,称为()
利用道路桥梁跨越河流的燃气管道,其管道的输送压力应()。
()不是对贷款效益性的调查。
甲公司拟向乙公司订购一批办公家具,授权本单位员工李某携带一张记载有本单位签章、出票日为2001年5月9日、票面金额为18万元的转账支票(同城使用,下同)前往采购。5月10日李某代表甲公司与乙公司签订了价值18万元的买卖合同。该合同约定:甲公司于合同签订当日
王某在李某开的商店购买了一个宏发公司生产的高压锅,在使用过程中发生爆炸,致王某受伤住院花费8000元。之后查明,高压锅的质量问题是李某进货时因承运人刘某在运输过程中造成。现王某起诉要求赔偿,下列选项中正确的有()。
有100人参加运动会的三个比赛项目,每人至少参加一项,其中未参加跳远的有50人,未参加跳高的有60人,未参加赛跑的有70人。问至少有多少人参加了不止一个项目?()
以经济合作为重点,逐步拓展全方位合作。
WhichofthefollowingitalicizedphrasesindicatesCAUSE?
最新回复
(
0
)