C语言中怎么把字符串中连续的数字变成一个数??
懒一点的方法你可以直接调用atoi这个函数,首先设置一个char
buffer[MAXLEN];
然后遍历数组,把数字的部分读入buffer中,最后调用atoi,当然不要忘记在buffer的后面加结尾符
C语言字符串的学习,输入指定字符串,并且计算字符串的位数
功 能: 把字符串转换成整型数.
名字来源:array to integer 的缩写.
函数说明: atoi()会扫描参数nptr字符串,如果第一个字符不是数字也不是正负号返回零,否则开始做类型转换,之后检测到非数字或结束符 \0 时停止转换,返回整型数。
原型: int atoi(const char *nptr);
需要用到的头文件: #include <stdlib.h>
程序例:
1)
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
int n;
char *str = "12345.67";
n = atoi(str);
printf("string = %s integer = %d\n", str, n);
return 0;
}
执行结果
string = 12345.67 integer = 12345
2)
#include <stdlib.h>
#include <stdio.h>
int main()
{
char a[] = "-100" ;
char b[] = "123" ;
int c ;
c = atoi( a ) + atoi( b ) ;
printf("c = %d\n", c) ;
return 0;
}
执行结果
c = 23
简单的实现atoi函数的源代码:
int my_atoi(const char *str){
int result = 0;
int signal = 1; /* 默认为正数 */
if((*str>='0'&&*str<='9')||*str=='-'||*str=='+'){
if(*str=='-'||*str=='+'){
if(*str=='-')
signal = -1; /* 输入负数 */
str++;
}
}
else return 0;
/* 开始转换 */
while(*str>='0'&&*str<='9')
result = result*10+(*str++ -'0');
return signal*result;
}
C语言库函数名:
atoi
功
能:
把字符串转换成整型数.
名字来源:array
to
integer
的缩写.
函数说明:
atoi()会扫描参数nptr字符串,如果第一个字符不是数字也不是正负号返回零,否则开始做类型转换,之后检测到非数字或结束符
\0
时停止转换,返回整型数。
原型:
int
atoi(const
char
*nptr);
需要用到的头文件:
#include
<stdlib.h>
程序例:
1)
#include
<stdlib.h>
#include
<stdio.h>
int
main(void)
{
int
n;
char
*str
=
"12345.67";
n
=
atoi(str);
printf("string
=
%s
integer
=
%d\n",
str,
n);
return
0;
}
执行结果
string
=
12345.67
integer
=
12345
2)
#include
<stdlib.h>
#include
<stdio.h>
int
main()
{
char
a[]
=
"-100"
;
char
b[]
=
"123"
;
int
c
;
c
=
atoi(
a
)
+
atoi(
b
)
;
printf("c
=
%d\n",
c)
;
return
0;
}
执行结果
c
=
23
简单的实现atoi函数的源代码:
int
my_atoi(const
char
*str){
int
result
=
0;
int
signal
=
1;
/*
默认为正数
*/
if((*str>='0'&&*str<='9')||*str=='-'||*str=='+'){
if(*str=='-'||*str=='+'){
if(*str=='-')
signal
=
-1;
/*
输入负数
*/
str++;
}
}
else
return
0;
/*
开始转换
*/
while(*str>='0'&&*str<='9')
result
=
result*10+(*str++
-'0');
return
signal*result;
}
char a[20];
int i=0,m=0,n;
scanf("%s",a);//输入123
while(a[i]!='\0')
{
m=(a[i]-48)+m*10;
i++;
}
n=m;//n就是所求数值123
C语言字符串的学习,输入指定字符串,并且计算字符串的位数
c语言中string怎么用啊
C语言提供了丰富的字符串处理函数, 大致可分为字符串的输入、输出、合并、修改、比较、转换、复制、搜索几类。 使用这些函数可大大减轻编程的负担。用于输入输出的字符串函数, 在使用前应包含头文件"stdio.h" ; 使用其它字符串函数则应包含头文件"string.h"。 下面介绍几个最常用的字符串函数。1....
C语言中怎样把输入的字符串赋给数组
\/\/基本实现你要的功能,用到了内存的动态开辟#include <stdio.h> include <stdlib.h> void main(){ char** pArrStr;\/\/用来保存字符串数组 int strLen;\/\/用来保存字符串长度 int i; printf("请输入字符数组的个数:");scanf("%d",&strLen);pArrStr=(char**)malloc(sizeof(char*)*strLen)...
用C语言怎么样把用户输入的字符串转化成在源程序中可执行的表达式?_百度...
不行吧,字符没法和变量名对照判断。 ccz181078 | 发布于2013-06-27 举报| 评论 0 3 为您推荐: 字符串长度 输入字符串 字符串转化为对象 字符串是什么 字符串码 matlab 转化字符串 字符串转化小数 c语言字符串 字符串是什么意思 字符串怎么输入 其他...
C语言怎么用printf输出字符串。
C语言怎么用printf输出字符串printf函数的一般格式printf(格式控制字符串,输出表列);以图1所示为例。图1.函数参数包括两部分:【1】格式控制字符串,是用双引号括起来的字符串,也称为转换控制字符串,它指定输出数据项的类型和格式。它包括两种信息:●格式说明项:由%和格式字符组成,如%d,%f...
c语言字符串怎么读取
然后用循环遍历字符串中每一个字符,判断其是字母还是数字。2、可以用循环调用getch()或getchar()函数来一个一个字符的接收输入,同时判读输入的是字母还是数字。3、假设字符c,满足 (c>='a'&& c<='z')|| (c>='A' && c<='Z')就是字母,满足 (c>=0 && c<=9)就是数字。
c语言中如何将一字符串插入另一个字符串中?
include<stdio.h> void main(){ void insert(char a[],char b[],int t);char a[100],b[100];int t,i,j;printf("input a string:\\n");gets(a);printf("inut b string:\\n");gets(b);printf("input the position to insert:\\n");scanf("%d",&t);if(t<=0 || t>strlen(...
c语言中如何借用指针输出字符串?
使用指针输出字符串有以下几种方式:1、使用printf 函数进行输出,其使用的格式转换符为%s,如 char *str = "test";\/\/指针指向一个字符串 printf ("%s\\n", str);\/\/输出str指向的字符串 2、使用puts函数进行输出,如 char *str = "test";puts(str);\/\/输出str指向的字符串,会自动多输出一...
c语言怎么把二维数组的字符串给到一维数组?
按元素赋值:遍历一维数组,并将每个元素赋值到二维数组的对应元素上。或者遍历二维数组,将每个元素赋值为一维数组对应值上。优点为操作灵活,可以按照需要任意赋值。2 当一维数组和二维数组类型相同,而且赋值顺序与一维数组中的存储顺序完全相同时,可以用memcpy的方式,直接一次性赋值。如一维数组为a,二维...
C语言中字符串怎样转换为asc编号
字符串要转为ascii码值,需要逐个字符转换为ASCII码。在C语言中,要输出字符的ASCII码值,只需要用%d的格式,用printf函数输出即可。因为%d的格式下,会将字符型变量转为整型,值就是ASCII码值。编写函数如下:void print_asc(const char *s){ while(*s) printf("%d ",*s++);} ...
C语言:把数字字符串转换成整型数字
程序如下:若输入字符串"ab56cd87",则输出结果:以%d格式输出十进制整数5687;若输入字符串"-ab56cd87",则输出结果:以%d格式输出十进制整数-5687。
倪露金莲: C语言库函数名: atoi 功 能: 把字符串转换成整型数. 名字来源:array to integer 的缩写. 函数说明: atoi()会扫描参数nptr字符串,如果第一个字符不是数字也不是正负号返回零,否则开始做类型转换,之后检测到非数字或结束符 \0 时停止转...
大兴区18576808665: C语言 如何把一个字符串中相连的两个数字转化为一个字节? - ?
倪露金莲: 不知道你的意思,但是如果你要把字符串“313233343536”,变成数字数组的话,你可以这样变化的 假设 *P=““313233343536” 在定义一个数组a[];for(i=0;i<12;i++) { a[i]=*P+0;//因为是字符,所以根据ASCii码表,要转换成数字 P++; } 这样就可以转化成数字数组了.
大兴区18576808665: 如何用c语言输入一个字符串,把里面连续的数字依次存放到一个数组中 - ?
倪露金莲: void main() { char a[80],*p=a; int b[80]={0},i=0,j=0,x=0; //!!!! printf("请输入一串字符\n"); gets(a); for(p=a;(*p)!='\0';p++) { if(((*p)>='0')&&((*p)<='9')) //!!!! { if(x==0) { b[i]=(*p)-48; i++; } else b[i-1]=b[i-1]*10+(*p)-48; x=1; } else x=0; } for(j=0;b[j]!=0;j++) ...
大兴区18576808665: c语言中数字字符串中的数字转化成一个个数字并存入整形数组 - ?
倪露金莲: /*************************************************** 函数名: CharToInt* 参数:* 形参:* intString: 保存整数的字符串* 返回值: * int: 成功返回转换后的整数,否则返回0* 功能:* 把字符串转换成整数* 例如:* "1200" => 1200* 作者: sdh* 编写明...
大兴区18576808665: 在c语言中把"123456"变成{1,2,3,4,5,6} - ?
倪露金莲: 1234567891011 char*input = "123456"; charoutput[256]; intlen = strlen(input); output[0] = '{'; for(inti = 0; i < len; i++) { output[i*2 + 1] = input[i]; output[i*2 + 2] = ','; } output[len * 2] = '}'; output[len * 2 + 1] = 0; printf(output);
大兴区18576808665: c语言,用循环的方法将字符串“123”转化成数字123,应该怎样写? - ?
倪露金莲: 自己实现字符串到整数的转换#include int str2num(char *str){ int sum = 0; while (*str) { int num = *str - '0'; sum =...
大兴区18576808665: 编程实现输入一个字符串,将其中连续的数字作为一个整数,依次存放到数组a中.例如:字符串为“ab123&gh6741 - ?
倪露金莲: #include#includeint main() { const char s[]="akd23x45an4.23lsj?a123"; int a[80]={0},n=0; for(int i=0;s[i];i++) { if(isdigit(s[i])) { a[n++]=atoi(&s[i]); while(isdigit(s[i])) i++; } } return 0; }
大兴区18576808665: C语言中,若像把字符串“12345”变成数字12345,应该怎么做? - ?
倪露金莲: 逐一取出后减去'0'就可以了,具体你自己写吧.
大兴区18576808665: c语言如何将字符串里面的数值抽取出来并转化 - ?
倪露金莲: stdlib.h头文件中的函数 atof Convert string to double (function) atoi Convert string to integer (function) atol Convert string to long integer (function) strtod Convert string to double (function) strtol Convert string to long integer (function) strtoul Convert ...
大兴区18576808665: 请问C语言怎么将字符串数组中的数字给一个整型变量? - ?
倪露金莲: 最简单的当然是使用sscanf这个函数啦.一个例子:#include <stdio.h> int main(void) { char ch[] = "123456"; int i; sscanf(ch, "%d", &i); //将字符串里的数字按%d读取到i中 printf("%d\n", i); return 0; }