首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,其功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。例如,若输入字符串“一1234”,则函数把它转换为整数值一1234。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中
请编写函数fun,其功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。例如,若输入字符串“一1234”,则函数把它转换为整数值一1234。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中
admin
2018-03-28
64
问题
请编写函数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("%ld\n",n);
}
选项
答案
long fun(char*p) { 10ng 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>,函数awl的作用是将字符串转换成长整型数,它是一个库函数。
转载请注明原文地址:https://kaotiyun.com/show/qxxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序intf(intn){if(n==l)return1;elsereturnf(n-1)+1;}main(){inti,j=0;f
若语句“t=fun(fun(x,y,a),(a+b,a+C,x+y+z);”对fun函数的调用正确,则fun函数的形参个数为()。
若有结构体定义:structstu{intnum;charsex;intage;}al,a2;则下列语句中错误的是()。
有以下程序#includeintfun(intX,inty){if(x!=y)return((x+y)/2):elsereturn(x):}main().{inta=
设有定义:int a; float b;执行scanf("%2d%f",&a,&b);语句时,若从键盘输入876 543.0<回车>, a和b的值分别是______。
对线性表进行二分查找,要求线性表为______。
若已包括头文件<string.h>且已有定义chars1[18],s2={"ABCDE"}和inti,现要将字符串"ABCDE"赋给s1,下列语句错误的是()
若有以下定义,则正确的swish语句是______。floatx;inta,b;
程序中对fun函数有如下说明 void*fun(); 此说明的含义是:
下列关于队列的叙述中正确的是
随机试题
对于厚度为4~12mm的焊件,其定位焊缝的长度应为()。
蜂窝组织炎的标本采集方法()
前庭大腺炎CO2激光造口术应用于
供货方的项目管理工作主要在()进行。
下列不属于采购及保管费的是()
会计账簿的更换通常在新会计年度建账时进行。一般来说,下列()应每年更换一次。
心境是()。
强迫性人格障碍的特点是()。
贾女士:一项权威性的调查数据显示,在医疗技术和设施最先进的美国,婴儿最低死亡率在世界上只占第17位。这使我得出结论,先进的医疗技术和设施,对于人类生命和健康所起的保护作用,对成人要比对婴儿显著得多。陈先生:我不能同意您的论证。事实上,一个国家所具
数据库设计可分为几个阶段进行,其中存储方法和访问方法设计属于下列哪~阶段?
最新回复
(
0
)