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

c語言數字相加問題

發布時間: 2023-08-11 17:02:06

A. c語言如何三個數求和

是三個數求和:

inta,b,c,sum;

charc1,c2;

scanf("%d%c%d%c%d",&a,&c1,&b,&c2,&c);

if(c1=='+'&&c2=='+')

sum=a+b+c;

printf("%d+%d+%d=%d ",a,b,c,sum);

運行時,輸入

12+34+56回車

1+2+3回車

B. c語言 大數相加

c/c++中int和unsigned類型變數,都不能保存超過10位的整數,但有時我們需要計算位數非常長的整數或小數的加法。一般我們稱這種基本數據類型無法表示的整數為大整數。如何表示和存放大整數呢?基本的思想就是:用數組存放和表示大整數。一個數組元素,存放大整數中的一位。

現在假如我們要計算倆個200位數的加法。顯然,任何C/C++固有類型的變數都無法保存它。最直觀的想法是可以用一個字元串來保存它。字元串本質上就是一個字元數組,因此為了編程更方便,我們也可以用數組int an[200]來保存一個200 位的整數,讓an[0]存放個位數,an[1]存放十位數,an[2]存放百位數……那麼如何實現兩個大整數相加呢?方法很簡單,就是模擬小學生列豎式做加法,從個位開始逐位相加,超過或達到10 則進位。也就是說,用intan1[201]保存第一個數,用int an2[200]表示第二個數,然後逐位相加,相加的結果直接存放在an1 中。要注意處理進位。另外,an1 數組長度定為201,是因為兩個200 位整數相加,結果可能會有201 位。實際編程時,不一定要費心思去把數組大小定得正好合適,稍微開大點也無所謂,以免不小心沒有算準這個「正好合適」的數值,而導致數組小了,產生越界錯誤。

下面是具體程序:

#include<stdio.h>
#include<string.h>
#defineMAX_LEN200
intan1[MAX_LEN+10];
intan2[MAX_LEN+10];
charszLine1[MAX_LEN+10];
charszLine2[MAX_LEN+10];
intmain(void)
{
scanf("%s",szLine1);
scanf("%s",szLine2);
inti,j;
memset(an1,0,sizeof(an1));
memset(an2,0,sizeof(an2));
intnLen1=strlen(szLine1);
for(j=0,i=nLen1-1;i>=0;i--)
an1[j++]=szLine1[i]-'0';
intnLen2=strlen(szLine2);
for(j=0,i=nLen2-1;i>=0;i--)
an2[j++]=szLine2[i]-'0';
for(i=0;i<MAX_LEN;i++)
{an1[i]+=an2[i];//逐位相加
if(an1[i]>=10)
{//看是否要進位
an1[i]-=10;
an1[i+1]++;//進位
}
}
for(i=MAX_LEN;(i>=0)&&(an1[i]==0);i--);
if(i>=0)
for(;i>=0;i--)
printf("%d",an1[i]);
elseprintf("0");
return0;
}

C. 用c語言編程如何實現求和的程序代碼

1、首先把頭文件,main函數寫好#include<stdio.h> main(),如下圖所示。

D. 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);

}

(4)c語言數字相加問題擴展閱讀

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

1、strlen

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

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

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

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

2、strcpy

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

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

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

E. c語言,實現任意多個數相加

#include<stdio.h>
intmain()
{
intn,s=0;
while(1)
{
scanf("%d",&n);
s+=n;
if(getchar()==' ')break;
}
printf("sum=%d ",s);
return0;
}

F. 用c語言實現10個數字相加

#include<stdio.h>

int main()

{

int a[10],sum,i;

for(i=0;i<10;i++)

{ scanf("%d",&a[i]);

sum+=a[i];

}

printf("這10個數的和為%d",sum);

return 0;

}

(6)c語言數字相加問題擴展閱讀:

數組:是有序的元素序列。 若將有限個類型相同的變數的集合命名,那麼這個名稱為數組名。組成數組的各個變數稱為數組的分量,也稱為數組的元素,有時也稱為下標變數。

在C語言中, 數組屬於構造數據類型。一個數組可以分解為多個數組元素,這些數組元素可以是基本數據類型或是構造類型。因此按數組元素的類型不同,數組又可分為數值數組、字元數組、指針數組、結構數組等各種類別。

特點:

1,數組是相同數據類型的元素的集合。

2,數組中的各元素的存儲是有先後順序的,它們在內存中按照這個先後順序連續存放在一起。

3,數組元素用整個數組的名字和它自己在數組中的順序位置來表示。例如,a[0]表示名字為a的數組中的第一個元素,a[1]代表數組a的第二個元素,以此類推。

G. C語言的兩個數相加怎麼寫

int a,b,c;

scanf("%d%d",&a,&b); //輸入a,b

c=a+b; //兩數相加給c

printf("%d",c); //輸出c