多項式加法 翁愷老師C語言程式設計CAP第7章編程題

來源:互聯網
上載者:User

標籤:輸入格式   return   第一個   break   內容   stdio.h   mit   需要   can   

題目內容:

一個多項式可以表達為x的各次冪與係數乘積的和,比如:

2x6+3x5+12x3+6x+20

現在,你的程式要讀入兩個多項式,然後輸出這兩個多項式的和,也就是把對應的冪上的係數相加然後輸出。

程式要處理的冪最大為100。

輸入格式:

總共要輸入兩個多項式,每個多項式的輸入格式如下:

每行輸入兩個數字,第一個表示冪次,第二個表示該冪次的係數,所有的係數都是整數。第一行一定是最高冪,最後一行一定是0次冪。

注意第一行和最後一行之間不一定按照冪次降低順序排列;如果某個冪次的係數為0,就不出現在輸入資料中了;0次冪的係數為0時還是會出現在輸入資料中。

輸出格式:

從最高冪開始依次降到0冪,如:

2x6+3x5+12x3-6x+20

注意其中的x是小寫字母x,而且所有的符號之間都沒有空格,如果某個冪的係數為0則不需要有那項。

輸入範例:

6 2

5 3

3 12

1 6

0 20

6 2

5 3

2 12

1 6

0 20

輸出範例:

4x6+6x5+12x3+12x2+12x+40

時間限制:500ms  記憶體限制:32000kb
#include <stdio.h>int a[105],b[105];int main(){    int x,y;
while (~scanf("%d%d",&x,&y)){ a[x]=y; if (x==0) break; } while (~scanf("%d%d",&x,&y)){ b[x]=y; if (x==0) break; }
for (int i=0;i<=100;i++) a[i]=a[i]+b[i];
int flag=0;
for (int i=100;i>1;i--){ if (a[i]){ if (a[i]>0){ if (a[i]==1){ if (flag==0){ printf("x%d",i); flag=1; } else printf("+x%d",i); } else{ if (flag==0){ printf("%dx%d",a[i],i); flag=1; } else printf("+%dx%d",a[i],i); } } else{ if (a[i]==-1) printf("-x%d",i); else printf("%dx%d",a[i],i); } } }
if (a[1]){ if (a[1]>0){ if (a[1]==1){ if (flag==0){ printf("x"); flag=1; } else printf("+x"); } else{ if (flag==0){ printf("%dx",a[1]); flag=1; } else printf("+%dx",a[1]); } } else{ if (a[1]==-1) printf("-x"); else printf("%dx",a[1]); } }
if (a[0]>0){ if (flag==0){ printf("%d",a[0]); flag=1;    } else printf("+%d",a[0]);    } if (a[0]<=0){ printf("%d",a[0]); }
printf("\n"); return 0;}

 

多項式加法 翁愷老師C語言程式設計CAP第7章編程題

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.