字符型(char)如何转成整数型(int)
我是一个新手,这也是我第一次写博客,相信很多人应该和我一样,在刚开始接触c语言的时候,不知道应该怎么办,但是学习的方法就是不停的看书,然后每天都写一下代码,不一定要写得多,哪怕写一个程序也可以,最起码要保持对代码的敏感度。
思维导入
当我们在acm上写题的时候,经常会碰到输入一串数字,然后对这串数字进行相应的操作,首先printf输入肯定是不行的,因为他要我们输入的数字结束的时候没有任何的结束语,而且我们事先也不知道应该输入几个数字,所以这是我们就需要gets(str)函数,str表示数组名,因为我们用了gets函数,所以我们知道数组的大小了,但是我们输入的数字在字符型(char)数组中是单个的,并不是相连的数字在同一个地址的,就像125,他是第0的位置是1,第1的位置是2,,这样子的,所以我们还需要转化,即判断这几个数字之间是不是有空格,是不是表示的是一个数,我们可以把空格作为判定条件,但是如果是连续的话,我们还需要给他进位。以下就是代码。
//以下仅是相关代码的展示
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37#include<stdio.h> #include<string.h> const int N=1e5+5; int main() { char a[N]; int length,b[N],count,p=0; //b是用来存数据的,count是用来表示b数组的下标 gets(a); length=strlen(a); a[length]=' '; //用来表示结束的条件 for(int i=0;i<=length;i++) { if(a[i]!=' ' && a[i+1]!=' ') //表示下一位还有数,例如125 { //p*10表示再次进位,如125第一次a[0]=1,p=10,第二次a[1]=2,p就要为120了,所以p要先*10 p=p*10+(a[i]-48)*10; } else if(a[i]!=' ') //此时表示他下一位是空格 { p+=a[i]-48; } else { b[count]=p; count++; p=0; //切记每次带入的时候要令p为零,不然上一个数会持续带入 } } for(int i=0;i<count;i++) printf("%dn",b[i]); return 0; }
最后
以上就是天真洋葱最近收集整理的关于字符型(char)如何转成整数型(int)字符型(char)如何转成整数型(int)的全部内容,更多相关字符型(char)如何转成整数型(int)字符型(char)如何转成整数型(int)内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复