极简题解
2025-08-19 18:32:43
发布于:上海
4阅读
0回复
0点赞
#include <stdio.h>
#include <stdlib.h>
int main() {
    int n;
    scanf("%d", &n);
    int cnt = n;
    
    int first_term = 1; // 标志位处理首项
    
    while (cnt >= 0) {
        int num;
        scanf("%d", &num);
        
        if (num != 0) {
            // 处理符号
            if (!first_term) {
                if (num > 0) printf("+");
                else if (num < 0) printf("-");
            } else {
                first_term = 0;
                if (num < 0) printf("-");
            }
            
            // 处理系数(绝对值部分)
            if (abs(num) != 1 || cnt == 0) {
                printf("%d", abs(num));
            }
            
            // 处理变量和指数
            if (cnt > 0) printf("x");
            if (cnt > 1) printf("^%d", cnt);
        }
        cnt--;
    }
    
    // 处理所有系数都为0的情况
    if (first_term) {
        printf("0");
    }
    
    printf("\n");
    return 0;
}
全部评论 1
注释也太详细了!不得点个赞
2025-08-24 来自 上海
1







有帮助,赞一个