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;//輸出結果
}