回覆列表
-
1 # 使用者9147460208505
相關內容
- 輸入任意個整數,降序排列,用C語言程式設計解決?
- c語言程式設計,假設x是一個整數,寫一個程式:從鍵盤上輸入它的值,計算y=2x+5,並輸出y的值?
- c語言程式設計中如何判斷一個數是否為整數?
- c語言程式設計,輸入兩個整數a?
- 毫無程式設計基礎的小白準備學習C語言,如何安裝VS?
- C語言程式設計題:從鍵盤輸入一個小寫字母,在螢幕上顯示其對應的大寫字母?
- 用C語言程式設計中輸入一個正整數,把數字前後顛倒並輸入顛倒後的結果,怎樣操作?
- c語言輸入三位數,輸出個十百位數怎麼程式設計?
- C語言程式設計中如何將一個檔案中的資訊轉入到另一個檔案?
- 求大神⊙▽⊙ C語言程式,從鍵盤任意輸入10個整數,統計並輸出其中非負數的個數,以及計算並輸出非?
這種題不是普通的A+B,沒有定義A,B的範圍,那麼A,B可以無限大,應該算是一道經典大數題,一般運用char型陣列接收A,B的每一位數然後轉化為int型模擬加法運算。下面這個程式碼是我的,可以參考一下
#include<stdio.h>
#include<string.h>
const int maxn = 10000;
char s1[10000],s2[10000];
int num1[maxn],num2[maxn],sum[maxn];
int main()
{
int t,i,j,k;
while(~scanf("%d",&t))
{
while(t--)
{
memset(num1,0,sizeof(num1));
memset(num2,0,sizeof(num1));
memset(sum,0,sizeof(sum));
memset(s1,"0",sizeof(s1));
memset(s2,"0",sizeof(s2));
scanf("%s %s",s1,s2);
if(s1[0]=="0"&&s2[0]=="0")
{
printf("0\n");
continue;
}
int len1 ,len2 ;
len1 = strlen(s1);
len2 = strlen(s2);
for( i = len1 - 1,j = 0; i >= 0; i --,j++)
num1[j] = s1[i]-"0";
for( i = len2 - 1, j = 0; i >= 0; i --,j++)
num2[j] = s2[i] - "0";
int len = len1 > len2 ? len1:len2;
for( i = 0; i<len; i++)
{
sum[i] += num1[i] + num2[i];
sum[i+1] += sum[i]/10;
sum[i] %= 10;
}
while(sum[i] == 0) i --;
for(;i>=0; i--)
printf("%d",sum[i]);
puts("");
}
}
return 0;
}
第一行先輸入測試資料組數
下面幾行 再輸入測試資料