c语言001怎么反向为100,C语言100题集合-ex001

C语言100题集合-ex001

C语言100题集合-ex001

系列文章《C语言经典100例》持续创作中,欢迎大家的关注和支持。

喜欢的同学记得点赞收藏哦~

1 题目

题目:将一个数字字符串转换为一个整数(不得调用C语言中提供的字符串函数进行操作) 例如:

输入:字符串 -1234

输出:整数 -1234

5cbd82588c7b060832704586df99e34f.png

2 思路

思路:将字符串每个位置的字符进行对应的ASCII码转换

例如:字符 '0'-'9' 对应的十进制整数是48~57,那么,将对应的整数减去48就得到了对应的整数

3 代码

#include

#include

/**

编写函数fun()

函数功能:将字符串转换为一个整数(但是不能使用C语言提供的字符串函数)

例如:

输入:字符串"-1234"

输出:整型 -1234

**/

long fun(char *p) {

int r = 0;  //数字个数

long res = 0L; // 转化后的数字

int pos = 1;  // 位数*10 *100 ...

int size = strlen(p);  // 字符串长度

if (p[0] == '-'){

r = size - 1;

} else {

r = size;

}

// 从前往后转换的话,需要分情况去计算。即:不是负数的话从p[0] 和 如果是负数的话需要从p[1]开始

// 所以,可以从后往前计算,循环次数是 r

for (int i = 0; i 

res += (p[size-1-i]-48)*pos;

pos *= 10;

}

return p[0]=='-'?-res:res;

}

int main(int argc, char const *argv[]) {

char s[6];

printf("Enter a string: ");

gets(s);

long res = fun(s);

printf("Convert Result: %ld\n", res);

return 0;

}

示例结果:

$ gcc ex1.c -o demo

$ ./demo

Enter a string: -1234

Convert Result: -1234

$ ./demo

Enter a string: 9089

Convert Result: 9089

--END--

喜欢本文的同学记得转发+点赞~

更多内容,欢迎大家关注我们的公众号:计算广告生态

带来更多系列文章以及干货!

C语言100题集合-ex001相关教程

Leetcode刷题 463题:岛屿的周长(基于Java语言)

Leetcode刷题 463题:岛屿的周长(基于Java语言) ** ** 一、 题目描述: 给定一个包含 0 和 1 的二维网格地图,其中 1 表示陆地 0 表示水域。 网格中的格子水平和垂直方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一

A1002 A+B for Polynomials 25分

A1002 A+B for Polynomials 25分 A1002 A+B for Polynomials 25分 题目描述: 思路: ①:使用数组存储指数和系数,例如e[3]=4就代表着指数为3的X的系数为4。 ②:边输入边计算,把相同指数的X的系数加起来。 ③:用cot来统计非零系数项的个数。由于相同指数

集合,ListIterator,Vector,ArrayList,LinkedList

集合,ListIterator,Vector,ArrayList,LinkedList Java学习笔记之------集合 集合类 基本方法 List和Set的区别 ListIterator List子类 集合类 为什么出现集合类 ? 面向对象语言对事物的体现都是以对象的形式体现,为了方便对多个对象的操作,就对对象进行

第一个博客 弄了2天的C语言数据结构字符串

第一个博客 弄了2天的C语言数据结构字符串 第一个博客 发个弄了2天的C语言数据结构字符串吧 首先 其次 先给出Str结构体的声明定义: 首次敲出来后代码大致如下: 问题发现及修正: 最后是完整的代码: 首先 这里只发KMP算法改过来的,BF算法直接去掉getnext函

零基础学习python需注意:不同语言对单例模式的不同实现

零基础学习python需注意:不同语言对单例模式的不同实现 前言 前段时间在用 Python 实现业务的时候发现一个坑,准确的来说是对于 Python 门外汉容易踩的坑; 大概代码如下: class Mom(object): name = '' sons = []if __name__ == '__main__': m1 = Mom() m1

java-集合-HashMap(详解)

java-集合-HashMap(详解) HashMap集合: 一、HashMap集合总结: 1、HashMap集合底层是哈希表/散列表的数据结构。 2、哈希表是一个怎样的数据结构呢? 哈希表是一个数组和单向链表的结合体。 数组:在查询方面效率很高,随机增删方面效率很低。 单向链表:在

Linux 常用命令集合(后端专用操作手册)

Linux 常用命令集合(后端专用操作手册) Linux 常用命令集合(后端专用操作手册) ??Linux 的命令的主要分为对文件基本信息的操作、对文件与目录的操作命令、对用户和用户组的操作的命令、对磁盘管理的操作命令、以及 vim、yum、apt.在这里 ,我们只是介绍一些简

【数据结构】【贪心】【电台集合覆盖问题】

【数据结构】【贪心】【电台集合覆盖问题】 贪心原理 https://zhuanlan.zhihu.com/p/76164082 步骤 将问题分解成多个小问题或者多个步骤。 在每个小问题或者步骤中,执行某种最优化策略,得到局部最优解 所有每个步骤得到的最优化解,组合得到全局最优化解,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值