當前位置:首頁 » 編程語言 » c語言將一排字元的數值相加
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言將一排字元的數值相加

發布時間: 2023-05-07 15:32:04

c語言一串字元串中提取數字並相加的問題

#include<stdio.h>
main()
{
char
x;
char
input1='\0';
char
input2='\0';
int
number1=0;
int
number2=0;
printf("請輸入字元串1:(輸入?結束)");//輸入?作為字元串1的結束符
while(x!='?')
{
x=getchar();
if(x=='?')
break;
input1=x;
if(input1>='0'&&input1<='9')//每檢查到一個數字就要乘10,進一位
number1=number1*10+input1-'0';//比如字元'9'-'0'之後的罩激態數是數字9
}
x='\物源0';//將字元x重置值,因為原來是等於?的
printf("請輸入字元串2:(輸入?結束)");
while(x!='?')
{
x=getchar();
if(x=='?')
break;
input2=x;
if(input2>='0'&&input2<='9')
number2=number2*10+input2-'0';
}
printf("兩串數之和為%d",number1+number2);
getch();
}//沒有用到數組和指針,也沒鉛歷有調用函數,真不明作業這么多要求。。。
//希望能幫到你

⑵ C語言求輸入一段字元串 將其中連續的數字相加

#include<stdio.h>

void main()

{

char s[100],*p=s;

int sum=0,i,j;

gets(s);

while(*p)

{i=0;

while(*p&&(*p<'0'||*p>'9'))p++;

while(*p&&(*p>='0'&&*p<='9'))

{i=10*i+*p-'0'; p++;}

sum+=i;

}

printf("sum=%d ",sum);

}

⑶ 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

⑷ c語言,累加一行字元中的數字

試一下這個

#include <stdio.h>
#include <ctype.h>

int main(void)
{
char str[81];
int i, sum = 0;

scanf("%s", str);
for (i = 0; str[i] != '\0'斗搭; ++i){
if (isdigit(str[i]))
sum += str[i]-'0'空孝拿;
}
printf("%d", sum);
return 0;

}

我用了isdigit()函慎戚數 希望你能通過

⑸ c語言輸入一個字元串,求所有數字之和

遍歷整個字元串,判斷是否是數字,再計算累祥此加和:

#include<stdio.h>
#include<孫敗string.h>
intmain()
{
chara[1000];//定義字元串
inti,sum=0,n;
gets(a);//輸入字元串
n=strlen(a);//求字元串長度
for(i=0;i<n;i++)//遍歷字元串判斷是否是數字
if(a[i]>='0'&&a[i]<='9')//如果是數字就累加
sum+=a[i]-'0';
printf("字元串中數字的和為:%d ",sum);//保留數字累加和
return0;
}
/*
運行結果:
jkahf343124asdfasfdasdf1
字元串中謹凱迅數字的和為:18
*/

⑹ C語言怎麼實現 由鍵盤輸入一行字元,將其中每個數字字元所代表的數值累加起來,輸出結果。

#include <stdio.h>
#include <conio.h>
void main(void)
{
char ch;
int sum = 0;
while((ch=getche())!='\r')//按下回車鍵悶檔,退出讀入,並輸出結果胡塵
{
if (ch>='0'&&ch<='9')
{
sum += ch - '0';
}
}
printf("\n%d\褲罩禪n",sum);
}

⑺ 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);

}

(7)c語言將一排字元的數值相加擴展閱讀

(C語言)常見字元函數和字元串函數

1、strlen

功能:計算字元串長度,不包含』』

返回值:返回字元串的字元數

說明:strlen() 函數計算的是字元串的實際長度,遇到第一個』』結束;參數指向的字元串必須以 』 『結束。函數返回值一定是size_t ,是無符號的。如果你只定義沒有給它賦初值,這個結果是不定的,它會從首地址一直找下去,直到遇到』』停止。

sizeof返回的是變數聲明後所佔的內存數,不是實際長度,此外sizeof不是函數,僅僅是一個操作符,strlen()是函數。

2、strcpy

功 能: 將參數src字元串拷貝至參數dest所指的地址

返回值: 返回參數dest的字元串起始地址

說明:源字元串必須以』』結束。會將源字元串的』』拷貝到目標空間。目標空間必須可變。如果參數dest所指的內存空間不夠大,可能會造成緩沖溢出的錯誤情況,在編寫程序時需特別留意,或者用strncpy()來取代。

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

⑼ C語言 數字字元相加怎麼實現

#include<stdio.h>
voidmain(){charas[]={"11"},bs[]={"1"};inta,b,c,i;
i=a=0;while(as[i]!=0){a*=10;a+=as[i]-'0';i++;}
i=b=0;while(bs[i]!=0){b*=10;b+=bs[i]-'0';i++;}
c=a+b;
printf("%s+%s=%d ",as,bs,c);
}

⑽ C語言:對一個字元串中的數值字元求和 例如:」1a2b3c45d」=51

標標准準的 c 語言獻上冊備。

#include<ctype.h>

#include<stdio.h>


intparseInt(intnum[],intn){

inti,ret=0;

for(i=0;州兆毀i<n;++i){

ret*=10;

ret+=num[i];

}

returnret;

}


intmain(void){

chars[]="1a2b3c45d";

inti,num[8],k,猜猜sum=0;

for(i=0;s[i]!='';++i){

k=i;

while(isdigit(s[i])){

num[i-k]=s[i]-'0';

++i;

}

sum+=parseInt(num,i-k);

}

printf("sum=%d",sum);

return0;

}