作者 主題: 多項是相加程式改寫疑問  (閱讀 2496 次)

0 會員 與 1 訪客 正在閱讀本文。

a78122681

  • 可愛的小學生
  • *
  • 文章數: 2
    • 檢視個人資料
多項是相加程式改寫疑問
« 於: 2009-10-26 17:22 »
以下是我的程式碼
代碼: [選擇]
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int i, j ,k=0,l;
    char *data1=(char *)calloc(2,256);
    char *data2=(char *)calloc(2,256);
    char *data3=(char *)calloc(2,256);
    gets(data1); data1[2*data1[0]+1]='\0';
    gets(data2); data2[2*data2[0]+1]='\0';
    for(i=2,j=2,l=2;(i<2*(data1[0]-47))&&(j<2*(data2[0]-47));l+=2)
       if(data1>data2[j]){
          data3[l]=data1;
          data3[l-1]=data1[i-1];
          k++;
          i+=2;
       }
       else if(data1<data2[j]){
               data3[l]=data2[j];
               data3[l-1]=data2[j-1];
               k++;
               j+=2;
            }
            else if(data1==data2[j]){
                    data3[l]=data1;
                    data3[l-1]=data1[i-1]+data2[j-1]-48;
                    k++;
                    i+=2;
                    j+=2;}
    data3[0]=k+48;
    printf("%s",data3);
    system("pause");
    return 0;
}
這是二項式相加的
我要改成輸入係數和指數不需用陣列方式輸入
我的想法是第一次輸入到指數為0
會要求輸入第二多項式
流程式
輸入係數>輸入次方>....>讀到次方為0>要求輸入第二式
輸入係數>輸入次方>....>讀到次方為0>相加

請問該如何做