zoukankan      html  css  js  c++  java
  • 多项式加法

    浙大C语言慕课的题目,需要考虑多项式输出的各种特殊情况。

    /*
    *  这个题目应该用%+d这种方式显示正负号。
    *
    *
    */


    #include <stdio.h> int main(void) { //系数和幂 int a, n; //最大的幂 int maxN; //用来统计多项式的个数 int cnt; //定义一个数组,元素索引作幂,元素值作系数 int num[101] = { 0, }; cnt = 0; // while (cnt < 2) { scanf("%d %d", &n, &a); //如果某个幂次的系数为0,就不出现在输入数据中了 if (n != 0 && a == 0) { continue; } num[n] += a; if (n == 0) { cnt++; } } maxN = 0; for (int i = 100; i >= 0; i--) { if (num[i] != 0) { maxN = i; break; } } for (int i = maxN; i >= 0; i--) { //结果为0 if (maxN == 0 && num[0] == 0) { printf("0 "); break; } //系数不为0 if (num[i] != 0) { //最高幂前没有“+”号,系数为负数自带运算符,系数为正数时,加上“+”号 if (i != maxN && num[i] > 0) { printf("+"); } if (i > 1) { //系数不为1的情况 if (num[i] != 1) { printf("%d", num[i]); } printf("x%d", i); } else if (i == 1) { if (num[i] != 1) { printf("%d", num[i]); } printf("x"); } else { printf("%d ", num[i]); } } } return 0; }

  • 相关阅读:
    Day 03
    Day 03 作业
    Day 02 作业
    Day 02
    Day 01
    Day 10 面向对象基础
    Spring学习-- Bean 的作用域
    一、基本知识
    cloud-init使用技巧
    如何在KVM中管理存储池
  • 原文地址:https://www.cnblogs.com/2018jason/p/12703461.html
Copyright © 2011-2022 走看看