C语言100题集合-ex001
C语言100题集合-ex001
系列文章《C语言经典100例》持续创作中,欢迎大家的关注和支持。
喜欢的同学记得点赞收藏哦~
1 题目
题目:将一个数字字符串转换为一个整数(不得调用C语言中提供的字符串函数进行操作) 例如:
输入:字符串 -1234
输出:整数 -1234
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 步骤 将问题分解成多个小问题或者多个步骤。 在每个小问题或者步骤中,执行某种最优化策略,得到局部最优解 所有每个步骤得到的最优化解,组合得到全局最优化解,