C语言:把数字字符串转换成整型数字

运行环境:TC2.

把数字字符串转换成整型数字。比如说我输入一个数字字符串“123”,然后输出的结果是数字“123(一百二十三)”。

PS:要通过函数调用来实现。
转换的过程要在函数中实现。

程序如下:

若输入字符串"ab56cd87",则输出结果:以%d格式输出十进制整数5687;若输入字符串"-ab56cd87",则输出结果:以%d格式输出十进制整数-5687。

扩展资料:

C语言高效编程技巧:

一:以空间换时间

计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题

二:数学方法解决问题 

数学是计算机之母,没有数学的依据和基础,就没有计算机发展,所以在编写程序的时候,采用一些数学方法会对程序的执行效率有数量级的提高。

三:使用位操作

实现高效的C语言编写的第三招----使用位操作,减少除法和取模的运算。

在计算机程序中,数据的位是可以操作的最小数据单位,理论上可以用“位运算”来完成所有的运算和操作。一般的位操作是用来控制硬件的,或者做数据变换使用,但是,灵活的位操作可以有效提高程序运行的效率。

参考资料来源:百度百科-C语言

温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-01-24
#include<stdio.h>
void main()
{
char s[20]; //根据需要定义一个足够长的字符串
int m;
scanf("%s",s[]); //输入一个字符串
int f(char str[]); //声明
m=f(s[]); //调用
printf("%d\n",m);
}
int f(char str[]) //定义
{
int i,n,sum;
i=0;
sum=0;
while(str[i]) //当str[i]不为\0时执行循环
{
sum=sum*10+str[i];
i++;
}
return(sum);
}本回答被提问者采纳
第2个回答  2010-01-27
int atoi(const char *s)
{
int n = 0;
int i = 0;
while (s[i] != '\0')
{
n *= 10;
n += s[i] - '0';//很关建啊,‘9’-‘0’=9 啊!!(字符-字符=数值)
i++;
}
return n;
}
第3个回答  2010-01-24
#include <stdio.h>
#include <stdlib.h>

int main()
{
char str[81];
strcpy(str,"123");
int result=atol(str); //利用atol函数,它是将包含数字字符串转换为长整型数据
printf("the string:%s",str);
printf("\nthe convertvalue is:%d",result);

return 0;
}
第4个回答  2020-04-30
相似回答