您的位置:首页 > 编程语言 > C语言/C++

POJ1555解题报告

2014-01-19 17:19 288 查看


思路:方法很笨,一项一项判断,但有一点需要注意那就是输出的时候的第一项,虽然题目说'+'和'-'前后都有空格,但若第一个字符为负的时候,'-'的前后是没有空格的.
编程语言:C语言
代码如下:

#include<stdio.h>

int main(void)

{

 int i, low, high, first;

 int num[9];

 while (scanf("%d%d%d%d%d%d%d%d%d",

  &num[8], &num[7], &num[6], &num[5], &num[4],

  &num[3], &num[2], &num[1], &num[0]) != EOF)

 {

  first = 1;

  low = 0; 

  while (num[low] == 0 && low<9)

   low++;

  high = 8;

  while (num[high] == 0 && high >= 0)

   high--;

  if (low>high)

  {

   printf("0\n");

   continue;

  }

  for (i = 8; i >= low; i--)

  {

   if (num[i] != 0)

   {

    if (first == 1)

    {

     first = 0;

     if (i == 0) printf("%d", num[i]);

     else if (i == 1)

     {

      if (num[i] == -1) printf("-x");

      else if (num[i] == 1)printf("x");

      else printf("%dx", num[i]);

     }

     else

     {

      if (num[i] == -1)

       printf("-x^%d", i);

      else if (num[i] == 1)

       printf("x^%d", i);

      else

       printf("%dx^%d", num[i], i);

     }

    }

    else

    {

     if (num[i]>0)

     {

      if (num[i] == 1)

      {

       if (i == 0)

        printf(" + 1");

       else if (i == 1)

        printf(" + x");

       else

        printf(" + x^%d", i);

      }

      else

      {

       if (i == 0)

        printf(" + %d", num[i]);

       else if (i == 1)

        printf(" + %dx", num[i]);

       else

        printf(" + %dx^%d", num[i], i);

      }

     }

     else

     {

      if (num[i] == -1)

      {

       if (i == 0)

        printf(" - 1");

       else if (i == 1)

        printf(" - x^");

       else

        printf(" - x^%d", i);

      }

      else

      {

       if (i == 0)

        printf(" - %d", 0 - num[i]);

       else if (i == 1)

        printf(" - %dx", 0 - num[i]);

       else

        printf(" - %dx^%d", 0 - num[i], i);

      }
     }

    }

   }

  }

  printf("\n");

 }

 system("pause");

 return 0;

}



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言