首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,其功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。例如,若输入字符串“一1234”,则函数把它转换为整数值一1234。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中
请编写函数fun,其功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。例如,若输入字符串“一1234”,则函数把它转换为整数值一1234。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中
admin
2018-03-28
36
问题
请编写函数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全国计算机二级
相关试题推荐
有下列程序段:intk=0,a=1,b=2,c=3;k=a<b?b:a;k=k>c?C:k;执行该程序段后,k的值是()。
以下程序段中与语句k=a>b?(b>c?1:0):0;功能等价的是( )
以下程序的输出结果是() main() {staticchara[10]={"Chinese"}; printf("%d",strlen(a)); }
阅读下列程序,当运行函数时,输入asdafaaz67,则输出为#include#include#includeintfun(char*str){inti,j=0;for(i=0;str[i]!=′\0′;
有以下程序#includeintfun(intX,inty){if(x!=y)return((x+y)/2):elsereturn(x):}main().{inta=
对线性表进行二分查找,要求线性表为______。
程序中对fun函数有如下说明 void*fun(); 此说明的含义是:
有以下程序#includemain(){charp[]={′a′,′b′,′c′},q[10]={′a′,′b′,′c′};printf("%d%d\n",strlen(p),strlen(q));}以下叙述中正确的是
下列关系运算的叙述中,正确的是______。
随机试题
以下说法错误的是()。
糖尿病患者可达到较好降糖效果且安全的适宜运动时间是
患者女性,23岁。四天前出现右下后牙区肿痛不适,昨日起疼痛加剧,并出现张口受限。检查见右面颊部稍肿胀,张口度二指,近中阻生,牙龈红肿,远中盲袋有少量脓液溢出,叩痛(一),其颊侧前庭沟黏膜充血,咽部检视不清。此患者的诊断是()
胚胎期指的是受孕后的()
关于管理的说法,错误的是()。(2010年单项选择第5题)
当事人就已经撤销的涉外仲裁案件再次向仲裁委员会提出申请的,根据法律规定,对此应如何处理?()
以下不属于讲授法的方法是()。
某区政府积极适应社会治理工作新常态,运用互联网、大数据、云计算等新技术与社会治理工作深度融合,通过微信公众平台、QQ等网络移动终端及时为居民服务。这一做法()。①实现了科学民主决策②提升了社会治理水平③贯彻了为民服
[*]
冒泡排序在最坏情况下的比较次数是
最新回复
(
0
)