【C语言】多项式加法(mooc第七周测试题)
这个小题目吧我折磨的够呛,,主要在于特殊情况考虑不周,测试用例老是通不过。。
小结:
做法:用一个数组来存储多项式,用下标表示幂次数,数组元素值表示对应系数
输出特殊格式考虑:系数和幂次数为0,1,-1的情况,负系数的对加号输出的影响
题目内容:
一个多项式可以表达为x的各次幂与系数乘积的和,比如:
2x6+3x5+12x3+6x+20
现在,你的程序要读入两个多项式,然后输出这两个多项式的和,也就是把对应的幂上的系数相加然后输出。
程序要处理的幂最大为100。
输入格式:
总共要输入两个多项式,每个多项式的输入格式如下:
每行输入两个数字,第一个表示幂次,第二个表示该幂次的系数,所有的系数都是整数。第一行一定是最高幂,最后一行一定是0次幂。
注意第一行和最后一行之间不一定按照幂次降低顺序排列;如果某个幂次的系数为0,就不出现在输入数据中了;0次幂的系数为0时还是会出现在输入数据中。
输出格式:
从最高幂开始依次降到0幂,如:
2x6+3x5+12x3-6x+20
注意其中的x是小写字母x,而且所有的符号之间都没有空格,如果某个幂的系数为0则不需要有那项。
输入样例:
6 2
5 3
3 12
1 6
0 20
6 2
5 3
2 12
1 6
0 20
输出样例:
4x6+6x5+12x3+12x2+12x+40
代码:
#include <stdio.h> #include <math.h> int main() { ]={}; int p,c; //power,coeff ; //相加后多项式非0系数的个数 ; //读入两个多项式并相加 ;i<;i++){ p=, c=; do{ scanf("%d %d",&p,&c); coeff[p] += c; }); } //统计相加后多项式非0系数的个数 ;i>-;i--){ ){ cnt_coeff += ; } } // 输出为0 ){ printf("%d\n",cnt_coeff); } else{ ;i>-;i--){ //从第二项开始,正系数项前面打印+号 ){ printf("+"); } //讨论系数,幂次数为0,1,-1的输出情况 ){ ){ ]==){ printf("x"); }]==-){ printf("-x"); }){ printf("%dx",coeff[i]); } }else{ ){ printf("x%d",i); }){ printf("-x%d",i); }){ printf("%dx%d",coeff[i],i); } } }else{ ] != ){ printf(]); } ] == ){ printf("\n"); } } //只要coeff[i]!=0,那么输出的项且被涵盖在上述分支当中, //因此循环第一次执行到这里并满足条件时第一项已经输出 ){ flag = ; } } } ; }
【C语言】多项式加法(mooc第七周测试题)的更多相关文章
- 网易云课堂_C语言程序设计进阶_第七周:文件:文件访问、格式化输入输出、二进制输入输出
7.1文件 7.2底层操作 7.1文件 格式化的输入输出 printf %[flags][width][.prec][hIL]type Flag 含义 - 左对齐 + 在前面放+或- (space) ...
- 程序设计入门——C语言 第7周编程练习 1多项式加法(5分)
第7周编程练习 依照学术诚信条款,我保证此作业是本人独立完成的. 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截止时间之前不限次数提交答案,系统 ...
- 中国MOOC_零基础学Java语言_第5周 数组_1多项式加法
第5周编程题 查看帮助 返回 第5周编程题 依照学术诚信条款,我保证此作业是本人独立完成的. 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截 ...
- C语言程序设计I—第七周教学
第七周教学总结(14/10-20/10) 教学内容 第二章 用C语言编写程序 2.5 生成乘方表和阶乘表 课前准备 在蓝墨云班课发布资源: PTA:2018秋第七周作业 分享码:FE065DC5D8C ...
- 七周七语言之用ruby做点什么
如果你想获得更好的阅读体验,可以前往我在 github 上的博客进行阅读,http://lcomplete.github.io/blog/2013/05/25/sevenlang-ruby/. 每学一 ...
- 程序设计入门-C语言基础知识-翁恺-第七周:指针与字符串-详细笔记(七)
目录 第七周:指针与字符串 7.1 指针初步 7.2 字符类型 7.3 字符串 7.3 课后练习 第七周:指针与字符串 7.1 指针初步 sizeof 是一个运算符,给出某个类型或变量在内存中所占据的 ...
- 网易云课堂_程序设计入门-C语言_第六章:数组_1多项式加法
1 多项式加法(5分) 题目内容: 一个多项式可以表达为x的各次幂与系数乘积的和,比如: 现在,你的程序要读入两个多项式,然后输出这两个多项式的和,也就是把对应的幂上的系数相加然后输出. 程序要处理的 ...
- C语言程序设计II—第七周教学
第七周教学总结(8/4-14/4) 教学内容 本周的教学内容为:8.3 冒泡排序,知识点:指针与数组.重点难点:指针.数组与地址的关系:数组名作为函数参数.要求学生能够使用数组名作为函数参数进行熟练编 ...
- C语言--第七周作业评分(5班)
作业链接:https://edu.cnblogs.com/campus/hljkj/CS2017-5/homework/1304 一.评分要求 要求1 完成PTA第七周所有题,总共两次题,每次12.5 ...
随机推荐
- 我的react+material-ui之路
在学习react和material-ui时我遇到的问题和解决方法 react要安装得在当前文件夹下面安装, npm命令在当前文件夹执行 npm install -g全局安装, 不会安装在当前包下 np ...
- ARDUINO驱动LCD1602 (利用库函数)
LCD 1602简介 工业字符型液晶,能够同时显示16x02即32个字符.(16列2行) 1602液晶也叫1602字符型液晶,它是一种专门用来显示字母.数字.符号等的点阵型液晶模块.它由若干个5X7或 ...
- linux常用命令【原创】
查看文件内容-while: cat 1.txt|while read line;do echo $line;done while read line; do echo $line; done < ...
- 微信支付errcode:40163,code been used,错误小结
1.配置时注意,支付平台中的支付授权目录, 注意大小写. 昨天碰到的问题,就是自己跳转时,路径写的全小写.跳转支付页面也能跳转过去,但是log中总是调用两次code,报40163错误.后改成和公总号支 ...
- 各种手工DIY
http://www.guokr.com/scientific/subject/diy/ 高仿宜家莲花灯 http://www.guokr.com/article/179863/ 做一只会发光的魔幻吊 ...
- 记一次被吊打的排位赛(writeup)
XMAN通行证 给了一串疑似base64的东西: a2FuYmJyZ2doamx7emJfX19ffXZ0bGFsbg== 解密后得到: kanbbrgghjl{zb____}vtlaln 想到应该是 ...
- 机器学习实战1-K均值
本例来源于github项目:https://github.com/jakevdp/sklearn_pycon2015/blob/master/notebooks/04.2-Clustering-KMe ...
- Linux安装docker
1.检查内核版本,必须是3.10及以上 uname ‐r 2.安装docker yum install docker 3.输入y确认安装 4.启动docker [root@localhost ~]# ...
- Django—视图
索引 一.URLconf 二.视图 三.HttpReqeust对象 3.1 QueryDict对象 3.2 GET和POST属性 四.HttpResponse对象 4.1 子类JsonResponse ...
- boostrap日期时间插件datetimepicker使用过程的一些问题总结
1.汉化问题 虽然有转门的汉化脚本,不过如果简单使用的话自己稍微改一下源码就行了: var dates = $.fn.datetimepicker.dates = { en: { days: ['Su ...