ZOJ-1720

一般般的模拟题,细心点就行,注意1和-1的情况,符号打印完后就把数取绝对值,开始的时候我的逻辑条件里只考虑了常数为1的情况,没考虑到-1,如果没去找测试数据的话估计会WA死。。思维死角真可怕

#include<stdio.h>
#include<stdlib.h>

int main()
{
    int a[9];
    while (scanf("%d %d %d %d %d %d %d %d %d", &a[8], &a[7], &a[6], &a[5],
                 &a[4], &a[3], &a[2], &a[1], &a[0]) != EOF)
    {
        int is_zero = 1, is_first = 1, i;
        for (i = 8; i >= 0; i--)
        {
            if (a[i])
            {
                is_zero = 0;
                if (is_first)
                {
                    is_first = 0;
                    printf(a[i] > 0 ? "" : "-");
                }
                else
                    printf(a[i] > 0 ? " + " : " - ");

                if (abs(a[i]) == 1 && i == 0)
                    putchar('1');
                else if (abs(a[i]) != 1)
                    printf("%d", abs(a[i]));

                if (i)
                {
                    putchar('x');
                    if (i > 1)
                        printf("^%d", i);
                }
            }
        }
        if (is_zero)
            putchar('0');
        putchar('\n');
    }
    return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值