PAT甲级习题(1002)

本文介绍了一段C语言程序代码,该程序用于求解两个多项式的和。通过用户输入两个多项式的系数和指数,程序将计算结果并输出。文章包含完整的代码实现,并通过数组来存储和处理多项式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这题求两个多项式和,开始看半天题目没看懂,还是需要多学习英语。。。



#include <stdio.h>

int main(void)
{
    double arrdBuf[1001]={0};                       // 存储多项式内容
    unsigned int K1,K2;
    int iExponent;
    double dCoefficient;
    unsigned int i,uiCounter; 
    
    printf("Please Input K1 & Polynomial_1.\r\n\t");
    scanf("%d", &K1);
    for(i=0; i<K1; i++)
    {
        scanf("%d %lf", &iExponent, &dCoefficient);
        arrdBuf[iExponent] = dCoefficient;          /*> 将多项式各项的系数存放在其指数对应的位置 */
        if(arrdBuf[iExponent] != 0)                 /*> 记录非0项数量 */
            uiCounter++;
    }
    
    printf("Please Input K2 & Polynomial_2.\r\n\t");
    scanf("%d", &K2);
    for(i=0; i<K2; i++)
    {
        scanf("%d %lf", &iExponent, &dCoefficient);
        arrdBuf[iExponent] += dCoefficient;         /*> 将多项式各项的系数存放在其指数对应的
                                                        位置,与已存放的系数相加 */
        if( (arrdBuf[iExponent] == dCoefficient) \
               && (dCoefficient != 0) )             /*> 如果求和后系数没有变化,并且输入系数不为0,表示为新增项 */
            uiCounter++;
        
        if(arrdBuf[iExponent] == 0)                 /*> 减去求和后和输入为0的项 */
            uiCounter--;
    }
  
    printf("Result is: \r\n\t");
    printf("%d", uiCounter);
    for(i=1001; i>0; i--)
    {
        if(arrdBuf[i-1] != 0)
            printf(" %d %0.1lf", i-1, arrdBuf[i-1]);
    }
    
    printf("\r\n");
    
    return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值