第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

求大神編寫一個計算多項式加法的C程序!

求大神編寫一個計算多項式加法的C程序!

C
yuantongxin 2016-04-27 20:27:47
多項式加法題目內(nèi)容:一個多項式可以表達為x的各次冪與系數(shù)乘積的和,比如:現(xiàn)在,你的程序要讀入兩個多項式,然后輸出這兩個多項式的和,也就是把對應(yīng)的冪上的系數(shù)相加然后輸出。程序要處理的冪最大為100。輸入格式:總共要輸入兩個多項式,每個多項式的輸入格式如下:每行輸入兩個數(shù)字,第一個表示冪次,第二個表示該冪次的系數(shù),所有的系數(shù)都是整數(shù)。第一行一定是最高冪,最后一行一定是0次冪。注意第一行和最后一行之間不一定按照冪次降低順序排列;如果某個冪次的系數(shù)為0,就不出現(xiàn)在輸入數(shù)據(jù)中了;0次冪的系數(shù)為0時還是會出現(xiàn)在輸入數(shù)據(jù)中。輸出格式:從最高冪開始依次降到0冪,如:2x6+3x5+12x3-6x+20注意其中的x是小寫字母x,而且所有的符號之間都沒有空格,如果某個冪的系數(shù)為0則不需要有那項。輸入樣例:6 25 33 121 60 206 25 32 121 60 20輸出樣例:4x6+6x5+12x3+12x2+12x+40
查看完整描述

5 回答

已采納
?
asd8532

TA貢獻143條經(jīng)驗 獲得超187個贊

#include?<stdio.h>
#include?<math.h>
??
void?outNum(int?j,int?k)
{
????int?absk?=?abs(k);
????if(absk==1?&&?j!=1?&&?j!=0)
????{
????????printf("x%d",j);
????}
????else?if(absk==1?&&?j!=0)
????{
????????printf("x");
????}
????else?if(absk==1)
????{
????????printf("%d",absk);
????}
????else?if(j==0)
????{
????????printf("%d",absk);
????}
????else?if(j==1)
????{
????????printf("%dx",absk);
????}
????else
????{
????????printf("%dx%d",absk,j);
????}
??
}
??
int?main()
{
????int?num[101]?=?{?(0)?};
????int?cut?=?0;
????int?ent?=?0;
????int?i,j,k;
????while(cut?<?2)
????{
????????k=0;
????????scanf("%d?%d",&j,&k);
????????num[j]?+=?k;
????????if(j==0)
????????????cut++;
????}
??
????for(i=100;i>-1;i--)
????{
????????j=i;
????????k=num[j];
????????if(k!=0)
????????{
????????????ent++;
????????????if(cut==2)
????????????{
????????????????if(k<0)
????????????????????printf("-");
????????????????outNum(j,k);
????????????????cut?++;
????????????}
????????????else
????????????{
????????????????if(k<0)
????????????????{
????????????????????printf("-");
????????????????????outNum(j,k);
????????????????}
????????????????else
????????????????{
????????????????????printf("+");
????????????????????outNum(j,k);
????????????????}
????????????}
????????}
????}
????if(ent==0)
????????printf("0");
??
????return?0;
}


查看完整回答
1 反對 回復(fù) 2016-04-27
?
慕運維0355845

TA貢獻2條經(jīng)驗 獲得超1個贊

#include<stdio.h>?
int?main(??)
{
????int?m,x;
????int?a[101]={0,};
????int?i,j;
????
????for(?i=0;?i<2;?++i?)
????{
????????m=101;
????????while(?m!=0?)
????????{
????????????scanf(?"%d?%d",?&m,?&x?);
????????????a[m]?+=x;
????????}
????}
????
????for(?j=100;?j>=0;?j--?)
????{
????????if(?a[j]?&&?j>1?)
????????{
????????????printf(?"%dx%d+",a[j],?j?);
????????}
????????else?if(?a[j]?&&?j==1?)
????????{
????????????printf(?"%dx+",a[j]?);
????????}
????????else?if(?a[j]?&&?j==0?)
????????{
????????????printf(?"%d",?a[j]?);
????????}
????}
????
????return?0;
}


查看完整回答
1 反對 回復(fù) 2018-02-23
?
慕的地219750

TA貢獻1條經(jīng)驗 獲得超1個贊

#include?<stdio.h>
int?main?()
{
????int?a,b;
????int?i;
????int?k;
????int?number[101]={0};
????for?(k=0;k<2;k++)
????{
????????for?(;;)
????????{
????????????scanf("%d?%d",&a,&b);
????????????number[a]?=?number[a]+b;
????????????if?(a==0)
????????????{
????????????????break;
????????????}
????????}
????}
????for?(i=100;i>=0;i--)
????{
????????if?(number[i]>0)
????????{
????????????printf("%d",number[i]);
????????????if?(i>0)
????????????{
????????????????printf("x");
????????????}
????????????if?(i>1)
????????????{
????????????????printf("%d",i);
????????????}
????????????if?(i>0)
????????????{
????????????????printf("+");
????????????}
????????}
????}
????return?0;
}


查看完整回答
1 反對 回復(fù) 2018-01-21
?
NoDocCat

TA貢獻5條經(jīng)驗 獲得超19個贊

我來一個簡化的

#include?<stdio.h>

void?printResult(int?m,?int?c);

int?main()?{
????int?num[101]?=?{0};
????int?m?=?0;??????????????????//冪數(shù)
????int?c?=?0;??????????????????//次數(shù)
????int?count?=?0;??????????????//記錄輸出的次數(shù)
????int?isFirstOut?=?1;?????????//是否為第一次輸出

????for?(int?i?=?0;?i?<?2;?i++)?{
????????do?{
????????????scanf("%d?%d",?&m,?&c);
????????????num[m]?+=?c;
????????}?while?(m?!=?0);
????}

????for?(int?i?=?100;?i?>=?0;?i--)?{
????????m?=?i;
????????c?=?num[i];

????????if?(c?!=?0)?{
????????????count++;????????????????????????????//計數(shù)
????????????if?(isFirstOut)?{???????????????????//當(dāng)?shù)谝淮屋敵鰰r
????????????????printResult(m,?c);
????????????????isFirstOut?=?0;?????????????????//更新狀態(tài)
????????????}?else?{
????????????????if?(c?>?0)?{
????????????????????printf("+");
????????????????}
????????????????printResult(m,?c);
????????????}
????????}
????}

????//當(dāng)一次也沒有輸出時?輸出0
????if?(count?==?0)?{
????????printf("0");
????}
}

void?printResult(int?m,?int?c)?{
????if?(m?!=?0)?{
????????if?(c?!=?1)?{???????????????????????????????//當(dāng)次數(shù)不為1時?輸出次數(shù)
????????????printf("%d",?c);
????????}
????????printf("x");
????????if?(m?!=?1)?{???????????????????????????????//當(dāng)冪數(shù)不為1時?輸出冪數(shù)
????????????printf("%d",?m);
????????}
????}?else?{????????????????????????????????????????//當(dāng)冪數(shù)為0時?只輸出次數(shù)
????????printf("%d",?c);
????}
}


查看完整回答
1 反對 回復(fù) 2017-02-17
  • 慕的地219750
    慕的地219750
    大神。可以問下我這個哪里錯了嗎。。我實在找不到謝謝 #include <stdio.h> int main () { int a,b; int i; int k; int number[101]={0}; for (k=0;k<2;k++) { for (;;) { scanf("%d %d",&a,&b); number[a] = number[a]+b; if (a==0) { break; } } } for (i=100;i>=0;i--) { if (number[i]>0) { printf("%d",number[i]); if (i>0) { printf("x"); } if (i>1) { printf("%d",i); } if (i>0) { printf("+"); } } } return 0; }
  • 慕的地219750
    慕的地219750
    怎么 好像不能分行呢。。我給這個提問者回復(fù)一下 您可以幫忙看一下嗎。。謝謝
?
慕運維0355845

TA貢獻2條經(jīng)驗 獲得超1個贊

111

查看完整回答
反對 回復(fù) 2018-02-23
  • 5 回答
  • 1 關(guān)注
  • 6322 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號