首页 > 其他 > 详细

剑指offer:将字符串转化为整形

时间:2014-03-25 22:45:46      阅读:590      评论:0      收藏:0      [点我收藏+]

我们知道c语言中存在一个函数atoi,就是把字符串转化为整形,现在我们要求不用此函数或者类似的函数写出“字符串转化为整形的函数“。

本题要考虑几种特殊的情况

1、功能测试:输入的字符串表示正数、负数、0

2、边界测试:输入最大的正整数,最小的负整数

3、特殊输入测试:输入字符串为NULL指针,输入空字符串,输入的字符串有非数字字符。

下面是源程序代码:

#include<stdio.h>
#include<string.h>
#include<math.h>
#define MAX 10
int main()
{
    char s[MAX]={0};
    printf("请输入原始字符串:\n");
    gets(s);
    int length=strlen(s);
    int i,k=0,tag=0;
    if(length>=1)
    {
        for(i=0;i<length;++i)
        {
            if(s[i]==‘-‘)
            {
                tag=1;
                continue;
            }
            if(s[i]>=‘0‘&&s[i]<=‘9‘)k=k*10+(s[i]-‘0‘);
            else
            {
                printf("你输入的字符串中有非数字字符!\n");
                exit(0);
            }
        }
    }
    else
    {
        printf("你输入的字符串为空\n");
        exit(0);
    }
    if(tag==0)printf("转化后的整形为:%d\n",k);
    else printf("转化后的整形为:-%d\n",k);
    return 0;
}

运行结果截图:

bubuko.com,布布扣bubuko.com,布布扣bubuko.com,布布扣bubuko.com,布布扣bubuko.com,布布扣

剑指offer:将字符串转化为整形,布布扣,bubuko.com

剑指offer:将字符串转化为整形

原文:http://blog.csdn.net/litianpeng1991/article/details/22092339

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!