C语言中怎么把字符串中连续的数字变成一个数?? C语言中怎么把字符串中连续的数字变成一个数??

\u7b80\u5355c\u8bed\u8a00\uff0c\u5c06\u5b57\u7b26\u4e32\u4e2d\u8fde\u7eed\u7684\u6570\u5b57\u4f5c\u4e3a\u4e00\u4e2a\u6574\u6570

\u61d2\u4e00\u70b9\u7684\u65b9\u6cd5\u4f60\u53ef\u4ee5\u76f4\u63a5\u8c03\u7528atoi\u8fd9\u4e2a\u51fd\u6570\uff0c\u9996\u5148\u8bbe\u7f6e\u4e00\u4e2achar
buffer[MAXLEN];
\u7136\u540e\u904d\u5386\u6570\u7ec4\uff0c\u628a\u6570\u5b57\u7684\u90e8\u5206\u8bfb\u5165buffer\u4e2d\uff0c\u6700\u540e\u8c03\u7528atoi\uff0c\u5f53\u7136\u4e0d\u8981\u5fd8\u8bb0\u5728buffer\u7684\u540e\u9762\u52a0\u7ed3\u5c3e\u7b26

C\u8bed\u8a00\u5b57\u7b26\u4e32\u7684\u5b66\u4e60\uff0c\u8f93\u5165\u6307\u5b9a\u5b57\u7b26\u4e32\uff0c\u5e76\u4e14\u8ba1\u7b97\u5b57\u7b26\u4e32\u7684\u4f4d\u6570

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;
}

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语言字符串的学习,输入指定字符串,并且计算字符串的位数



  • ...缁撴潫鐨瀛楃涓,灏鍏朵腑绗竴娆″嚭鐜扮殑杩炵画鐨勬暟瀛楀瓧绗杞崲涓烘暣鏁,閬囧埌闈...
    绛旓細include <stdio.h> void convert(char str[],int *dp){ sscanf(str,"%*[^0-9]%d",dp);} int main(){ char s[100];int d;scanf("%s",s);convert(s,&d);printf("%d",d);return 0;}
  • C璇█缂栧啓:杈撳叆浠绘剰涓涓插瓧绗︿覆,缁熻璇瀛楃涓蹭腑鍑虹幇鐨勫瓧绗鐨勪釜鏁,骞惰緭...
    绛旓細C璇█缂栧啓:杈撳叆浠绘剰涓涓插瓧绗︿覆,缁熻璇瀛楃涓蹭腑鍑虹幇鐨勫瓧绗鐨勪釜鏁,骞惰緭鍑哄叡缁熻鐨勪釜鏁般  鎴戞潵绛 1涓洖绛 #鍥藉簡蹇呯湅# 鍏ㄥ娓稿浣曚綋楠屽绉嶇帺娉?濂藉鑰呯櫨绉 2022-09-28 路 鐧惧害璁よ瘉:鍖椾含鎯犱紒缃戠粶鎶鏈湁闄愬叕鍙稿畼鏂瑰笎鍙 濂藉鑰呯櫨绉 绉戞妧鐢熸椿闂ㄦ埛缃戠珯,鎺㈢储鍙戠幇鐧剧鍏ㄤ功銆 鍚慣A鎻愰棶 ...
  • ...缂栫▼鍔熻兘瀹炵幇:杈撳叆涓涓瓧绗︿覆,杈撳嚭瀛楃涓蹭腑鐨勬暟瀛閮ㄥ垎缁勬垚鐨勬暟鍙婅繖浜...
    绛旓細void main(){char str[50];int i=0; //i鏄暟缁勪笅鏍. gets(str); //杈撳叆瀛楃涓.int s=0;while(str[i]) //褰撴暟缁勫厓绱犱笉鏄瓧绗︿覆缁撴潫绗︽椂.鎵цwhile{ if(str[i]>='0'&&str[i]<='9') //濡傛灉鏁扮粍鍏冪礌鏄鏁板瓧. 灏辫緭鍑鸿繖涓厓绱. { s=s*10+int(str[i])-int('0');...
  • c璇█ 闅忔満杈撳叆涓涓瀛楃涓,缁熻璇涓蹭腑姣忎釜鏁板瓧瀛楃(0,1,2,3,4,5,6...
    绛旓細鎬濊矾锛氱粺璁瀛楃涓蹭腑姣忎釜鏁板瓧瀛楃鍑虹幇鐨勪釜鏁板彲浠ュ厛瀹氫箟涓涓暣鏁版暟缁刟澶у皬鏄10锛屼緷娆′繚瀛0-9瀛楃鍑虹幇涓暟锛岄亶鍘嗗瓧绗︿覆锛屽垽鏂瀛楃鏄惁鏄暟瀛楀瓧绗︼紝濡傛灉鏄搴旂殑鏁扮粍鍏冪礌鑷姞1銆傚弬鑰冧唬鐮侊細include<stdio.h>#include<string.h>int main(){ char a[100];int i,n,num[10];gets(a);n=strlen(a);for...
  • c璇█缂栫▼,缂栧啓鍑芥暟,鍒犻櫎瀛楃涓蹭腑鐨鑻辨枃瀛楁瘝銆鏁板瓧瀛楃;骞跺杩炵画鍑虹幇...
    绛旓細include <stdio.h>void fun(char *s){ int i,j; for(i=0;s[i]>='a' && s[i]<='z' || s[i]>='A' && s[i]<='Z' || s[i]>='0' && s[i]<='9';i++); for(s[j=0]=s[i++];s[i];i++) if(!(s[i]>='a' && s[i]<='z' || s[i]...
  • C璇█ 杈撳叆瀛楃涓,灏嗗瓧绗︿覆涓殑鏁板瓧瀛樺叆鏁村瀷鏁扮粍涓
    绛旓細include<stdio.h> include<string.h> int main(){ char str[20];int i,j;int b[20];printf("杩欓噷杈撳叆瀛楃涓\n");scanf("%s",str);for(i=0,j=0;i<strlen(str);i++,j++){ if((str[i]>'0')&&(str[i]<'9')){ b[j]=(int)str[i]-48;printf("%d",b[j]);} else j...
  • c璇█瀛楃涓鏁扮粍鎬庝箞杈撳叆鍜岃緭鍑哄憿
    绛旓細鍦C璇█涓锛屾湁涓や釜鍑芥暟鍙互鍦ㄦ帶鍒跺彴锛堟樉绀哄櫒锛変笂杈撳嚭瀛楃涓锛屽畠浠垎鍒槸锛歱uts()锛氳緭鍑哄瓧绗︿覆骞惰嚜鍔ㄦ崲琛岋紝璇ュ嚱鏁板彧鑳借緭鍑哄瓧绗︿覆銆俻rintf()锛氶氳繃鏍煎紡鎺у埗绗%s杈撳嚭瀛楃涓诧紝涓嶈兘鑷姩鎹㈣銆傞櫎浜嗗瓧绗︿覆锛宲rintf() 杩樿兘杈撳嚭鍏朵粬绫诲瀷鐨勬暟鎹傝繖涓や釜鍑芥暟鐩镐俊澶у宸茬粡闈炲父鐔熸倝浜嗭紝杩欓噷涓嶅Θ鍐嶆紨绀轰竴涓嬶紝璇风湅涓嬮潰鐨...
  • ...缁熻鍏朵腑鏁板瓧鐨勪釜鏁,骞惰绠瀛楃涓蹭腑鎵鏈夋暟瀛椾箣鍜屻傛劅瑙c璇璤鐧惧害鐭 ...
    绛旓細鏁板瓧鎬庝箞鐞嗚В锛熺悊瑙d竴锛//#include "stdafx.h"//If the vc++6.0, with this line.#include "stdio.h"int main(void){ char a[51]; int i,sum; printf("Input a string...\n"); gets(a); for(sum=i=0;a[i];i++) if(a[i]>='0' && a[i]<='9') ...
  • c璇█,浠庨敭鐩樿緭鍏ヤ竴涓插瓧绗︿覆,缁熻瀛楃涓蹭腑鐗瑰畾瀛楃鐨勪釜鏁,骞惰緭鍑...
    绛旓細scanf("%c",&ch); /*瀵规瀛楃涓浠庡ご寮濮嬮愪釜涓庢墍缁熻鐨勫瓧绗︽瘮杈冿紝濡傜浉鍚岋紝鍒欒璁℃暟鍣ㄥ姞1锛岀煡閬撳瓧绗︿覆鏁翠綋姣旇緝缁撴潫涓烘*/ for( i=0;str[i];i++ ) if( str[i]==ch ) cnt++; /*杈撳嚭缁撴灉*/ printf("%s涓蹭腑%c瀛楃鐨涓暟鏄細%d涓",str,ch,cnt);} ...
  • c璇█鎶婃暟瀛楀瓧绗︿覆涓殑鏁板瓧鐩稿姞鐨勭▼搴
    绛旓細浠g爜濡備笅锛歩nclude <stdio.h> include <string.h> include <stdlib.h> int main(){ char str[100];char buf[10];int i;int n = 0;bool flag = 0;int j = 0;//gets(str);scanf("%s", str);for (i = 0; i != strlen(str); ++ i){ if (str[i] >= '0' && str[i] ...
  • 扩展阅读:截取字符串的三种方法 ... 字符串长度怎么自己数 ... 字符串去重的5种方法 ... c #根据符号分割字符串 ... c中怎么定义字符串 ... c++中如何输入字符串 ... c语言将12345倒序输出 ... c语言原样输出字符串 ... c语言删除字符串最前的 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网