• PTA(BasicLevel)-1010 一元多项式求导



    一、题目和题意分析

      设计函数求一元多项式的导数。x^n [n为整数] 的一阶导数为nx^(n−1)。

      输入格式: 以指数递降方式输入多项式非零项系数和指数(*绝对值均为不超过 1000 的整数*)。数字间以空格分隔。

      输出格式: 以与输入相同的格式输出导数*多项式非零项的系数和指数*。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表示为 0
    0。

      输入样例: 3 4 -5 2 6 1 -2 0
      输出样例: 12 3 -10 1 6 0


    二、解题思路

      如果是零多项式,则输出0 0,否则输出多项式非零项的系数和指数。

    #include <stdio.h>
    #define MAX 1000
    struct Info {
        int pre;
        int expo;
    }; 
    
    int main(int argc, char *argv[])
    {
        struct Info A[MAX];
        int flag, j = 0;
        while ( scanf("%d %d", &A[j].pre, &A[j].expo) != EOF ) {
            /* 输入非零项系数和指数 */
            A[j].pre *= A[j].expo;
            if ( A[j].expo != 0 ) {
                A[j].expo -= 1;            
            } else {
                A[j].expo = 0; /* constant */
            }
            
            /* 输出导数多项式非零项的系数和指数 */
             if ( A[j].pre == 0 && A[j].expo == 0 ) {
                // pre,expo equal to 0
                if ( j == 0 ) {
                    printf("0 0");
                    break;                
                } else  {
                    continue;
                }
            } else if ( A[j].pre != 0  ) {
                // pre not equal to 0 
                if ( j == 0 ) {
                    printf("%d %d", A[j].pre, A[j].expo);                  
                } else {
                      printf(" %d %d", A[j].pre, A[j].expo);      
                }    
            }
            j++;
        }
        
        return 0;
    }
  • 相关阅读:
    java之collection总结
    JAVA集合详解(Collection和Map接口)
    Java集合框架(Collection Framework)学习之 Collection与Map概貌
    (二)用less+gulp+requireJs 搭建项目(gulp)
    (一)用less+gulp+requireJs 搭建项目(了解less)
    数组API汇总
    我的vim配置
    Educational Codeforces Round 47 D
    [AHOI2008]上学路线
    [SDOI2016]硬币游戏
  • 原文地址:https://www.cnblogs.com/justLittleStar/p/10724144.html
Copyright © 2020-2023  润新知