首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,其功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。例如,若输入字符串“一1234”,则函数把它转换为整数值一1234。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在
请编写函数fun,其功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。例如,若输入字符串“一1234”,则函数把它转换为整数值一1234。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在
admin
2021-06-15
71
问题
请编写函数fun,其功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。例如,若输入字符串“一1234”,则函数把它转换为整数值一1234。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdio.h>
#include<string.h>
long fun(char*P)
{
}
void main()
{
char s[6];
long n;
printf("Enter a string:\n");
gets(s);
n=fun(s);
printf("%id\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的作用是将字符串转换成长整型数,它是一个库函数。
转载请注明原文地址:https://www.kaotiyun.com/show/t0tp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
关于’’while(条件表达式)循环体’’,以下叙述正确的是
在关系数据库中,用来表示实体间联系的是
以下叙述中正确的是
有以下程序#includeintfun(intn){inta;if(n==1)return1;a=n+fun(n-1);return(a);}main(){printf("%d\n",fun(
以下叙述中正确的是
有以下程序#include<stdio.h>voidfun(int*a,int*b){int*c;c=a;a=b;b=c;}main(){intx=3,y=5,*p=&x,*q=&y;fun(p,q);pri
一般情况下,当对关系R和S进行自然连接时,要求R和S含有一个或者多个共有的
以下选项中非法的C语言字符常量是
C语言程序中,运算对象必须是整型数的运算符是
在线性表的链式存储结构中,其存储空间一般是不连续的,并且()。
随机试题
患儿男,6岁。高热、呼吸困难,双肺有广泛水泡音,诊断为支气管炎,青霉素皮试阳性,宜选用
药品生产企业如何处置药品群体不良事件?
××开发区成立于2001年,其区内土地已全部完成基础设施配套和平整。2007年5月,市国土资源局拟以租赁和出让的方式分别供应位于××开发区内的甲、乙两块工业用地。其中,对于地块甲,该市政府已于2006年7月与企业A签订了工业项目投资协议,确定了供地范围和年
系统允许每个月( )记账。
我国股份有限公司发行境内上市外资股一般采取()方式。
旅游者提出晚间要去当地一个颇有争议的娱乐场所看演出,导游员应()。
材料1和材料2这两段话所表现的基本思想倾向的不同点和共同点。材料3与材料1、2的主要分歧是什么?
使用如下数据表。“学生”表:学号C(8),姓名C(8),性别C(2),系名(6)“课程”表:课程编号C(4),课程名称C(12),开课系名C(10)“成绩”表:学号c(8),课程编号C(4),成绩N(6,2)在已打开数据
组成计算机指令的两部分是( )。
Whichistrueaccordingtothespeaker?
最新回复
(
0
)