1. c语言把数字字符串中的数字相加的程序
代码如下:
#include <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] <= '9')
{
buf[j] = str[i];
j++;
flag = 1;
}
else if (flag)
{
n += atoi(buf);
memset(buf,0,10);//清空缓存区
flag = 0;
j = 0;
}
}
printf("%s",buf);
printf("%d ", n);
}
(1)c语言字符串相加函数扩展阅读
(C语言)常见字符函数和字符串函数
1、strlen
功能:计算字符串长度,不包含’ ’
返回值:返回字符串的字符数
说明:strlen() 函数计算的是字符串的实际长度,遇到第一个’ ’结束;参数指向的字符串必须以 ’ ‘结束。函数返回值一定是size_t ,是无符号的。如果你只定义没有给它赋初值,这个结果是不定的,它会从首地址一直找下去,直到遇到’ ’停止。
sizeof返回的是变量声明后所占的内存数,不是实际长度,此外sizeof不是函数,仅仅是一个操作符,strlen()是函数。
2、strcpy
功 能: 将参数src字符串拷贝至参数dest所指的地址
返回值: 返回参数dest的字符串起始地址
说明:源字符串必须以’ ’结束。会将源字符串的’ ’拷贝到目标空间。目标空间必须可变。如果参数dest所指的内存空间不够大,可能会造成缓冲溢出的错误情况,在编写程序时需特别留意,或者用strncpy()来取代。
2. C语言字符相加问题
本质上没区别,都是字符的加法,但结果区别很大,'1'+'0'本质上是两个字符相加,会按ascii码转成对应的数值再加,'0'的ascii码为48,'1'为49,相加后为97(97是'a'的ascii码),所以如果你用
printf("%d %c",'1'+'0','1'+'0');
会输出97 a
同样的原理1+'0',会得到49(也就是'1'的ascii码),如果是
printf("%d %c",1+'0',1+'0');
就会输出49 1
3. C语言怎么合并两个字符串
代码:
char str1="123";
char str2="abc";
strcat(str1,str2);
printf("%s",str1);
例如:
#include <stdio.h>
#include <string.h>
main()
{
char strDes[N]= "kkkjdah", strSor[N]="sdasdaaa";
strcat(strSor,strDes);//链接
puts(strDes);
puts(strSor);
}
(3)c语言字符串相加函数扩展阅读:
字符串在存储上类似字符数组,它每一位单个元素都是能提取的,字符串的零位是它的长度,如s[0]=10,这提供给我们很多方便,例如高精度运算时每一位都能转化为数字存入数组。
通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。
4. C语言用字符串实现整数的加法
这个问题你可以写两个小函数来实现 , 一个是atoi()函数,就是把字符串转化成int型,另一个是itoa(),就是把int型的数字转化成字符串。刚开始时用atoi()把str1,str2转化成整形数,然后相加,再把相加后的结果用itoa()函数转化成字符串,再赋值给result。这是个思路,那两个函数也不太难,自己尝试实现一下。
5. C语言中关于字符串相加的一个问题
#include<stdio.h>
intmain()
{
intn;
while(scanf("%d",&n)!=0)
{
chara,b;
inti;
for(i=0;i<n;i++)
{
getchar();//接收 字符
scanf("%c%c",&a,&b);//格式
printf("%d ",a+b);
}
}
return0;
}
6. 两个字符串型数组如何相加(C语言)
你可以把字符串分解吗,因为第一个字符被排除
所以如果你需要atof 可以这样用
float ff=atof(&a[1]);
是不是。
借贷关系 你就直接取就行了 比如char jd=a[0];等等
7. c语言怎样把字符串里的数字相加
#include <iostream>//和cout,cin标准输出输入有关
#include <ctype.h>//和isdigit()函数有关
#include <stdlib.h>
int const STR_LEN = 64;//输入字符串最大长度
using namespace std;//瞎高也和输入输御搏出有关
void main()
{
int i = 0, sum =0;
char c[STR_LEN];
cout<<"type a string:";
cin>>c;//得到字符串
while(c[i])
{
if(isdigit(c[i])) sum += c[i] - '0';//判断当磨拆尺前字符是不是数字的ascii码,是的话c[i]-'0'就是对应数字
i++;
}
cout<<"sum = "<<sum<<endl;//输出结果
}