首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,其功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。例如,若输入字符串“一1234”,则函数把它转换为整数值一1234。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中
请编写函数fun,其功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。例如,若输入字符串“一1234”,则函数把它转换为整数值一1234。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中
admin
2016-08-16
33
问题
请编写函数fun,其功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。例如,若输入字符串“一1234”,则函数把它转换为整数值一1234。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include
#include
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*c/ {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
,函数atol的作用是将字符串转换成长整型数,它是一个库函数。
转载请注明原文地址:https://jikaoti.com/ti/pUE0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有以下程序:#include<iostream>usingnamespacestd;intmain(){intnum[2][3],*p;intt,i,j,k
若有数组名作为实参,则传递给形参的是()。
设有以下变量定义,并已赋确定的值:charw;intx;floaty;doublez;则表达式:w*x+z-y所求得的数据类型为()。
数据库系统阶段的数据具有较高独立性,数据独立性包括物理独立性和【】两个含义。
下列关于函数模板实参不能省略的情况说明不正确的是
若变量已正确定义并赋值,以下符合C++语言语法的表达式是
数据库系统阶段的数据具有较高独立性,数据独立性包括物理独立性和【】两个含义。
请选出以下程序段的输出结果()。#include<iostream>usingnamespacestd;#defineMIN(x,y)(x)<(y)?(x):(y)intmain()
以下函数实现的功能是()。voidfun(char*s){char*p,*q,temp;p=s;q=s+strlen(s)-1;while(p<q)
下列函数中,哪项是正确的递归函数()。AintFun(intn){if(n<1)return1;elsereturnn*Fun(n+1);}B)
随机试题
[背景资料]某施工单位承接了某高速公路A合同段的施工任务,其中包括8km的路基、路面工程和一座跨径80m的桥梁施工。该合同段土质以松散砂土和黏土为主,土质含水量为20%,路基施工中有大量土方需转运200~300m。施工前,项目部组织编写
乳房部疾病症见经前胀痛者为
先天性甲状腺功能低下分类为
某工程项目,建设单位与施工总承包单位按《建设工程施工合同(示范文本)》签订了施工承包合同,并委托某监理公司承担施工阶段的监理任务。施工总承包单位将桩基工程分包给一家专业施工单位。开工前:(1)总监理工程师组织监理人员熟悉设计文件时发现部分图纸设计不
下列关于石油化工企业的布置,说法不正确的是()。
下列关于公司股份分割说法正确的有()
对逾期贷款,银行分(支)行信贷部主管必须()开出催收贷款通知函,并同时发送担保单位签收。
In2010,afederaljudgeshookAmerica’sbiotechindustrytoitscore.CompanieshadwonpatentsforisolatedDNAfordecades—by
以下关于通用对话框的叙述中,错误的是()。
WhichstatementisNOTtrueaboutthenewroundofsix-nationtalks?
最新回复
(
0
)