PAT 乙级 1010 C语言
来源:互联网 发布:怎样在u盘上编程 编辑:程序博客网 时间:2024/06/06 04:46
1010
题目:一元多项式求导 (25)
设计函数求一元多项式的导数。(注:xn(n为整数)的一阶导数为n*xn-1。)
输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔
输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是0,但是表示为“0 0”。
输入样例:
3 4 -5 2 6 1 -2 0
输出样例:
12 3 -10 1 6 0
注意:要特别注意如果结果是“零多项式”,需要输出“0 0”
难点:判断输入结束 ( 因为没有给出输入数据的个数)
思路:
* 循环:
{
…….. 系数= 系数 * (指数-1)
…….. 指数 -= 1
…….. if(系数不为0) 输出
…….. 判断循环是否结束(下一个字符是否为‘\n’)
}
*如果是零多项式(没有非0系数),输出“0 0”
代码入下:
#include<stdio.h>#include<stdbool.h>int main(void){ int fac,exp; char ch; _Bool isFirst = true; while(scanf("%d %d",&fac,&exp)) { fac *= exp; exp -= 1; if(fac) { if(isFirst) { printf("%d %d",fac,exp); isFirst = false; } else printf(" %d %d",fac,exp); } //如果输入流中下一个字符是'\n',结束输入 if(ch = ungetc(getchar(),stdin)=='\n') break; } if(isFirst) printf("0 0"); printf("\n"); return 0;}
小结:
ungetc(int ch, FILE * stream)函数可以把一个(或多个)字符退回到stream指针代表的文件流中。
这个小技巧可以帮助我们查看文件流中的下一个字符,从而决定相应的操作(比如结束输入)
阅读全文
0 0
- PAT 乙级 1010 C语言
- PAT考试乙级1010(C语言实现)
- PAT乙级 C语言竞赛
- PAT 乙级 1059. C语言竞赛(20)
- PAT乙级1059 C语言竞赛
- [PAT-乙级]1059.C语言竞赛
- PAT乙级 1059. C语言竞赛(20)
- PAT乙级 1059. C语言竞赛(20)
- [PAT乙级]1059. C语言竞赛(20)
- pat 乙级 1059. C语言竞赛(20)
- PAT乙级1059. C语言竞赛(20)
- PAT考试乙级1001(C语言实现)
- PAT考试乙级1002(C语言实现)
- PAT考试乙级1005(C语言实现)
- PAT考试乙级1004(C语言实现)
- PAT考试乙级1006(C语言实现)
- PAT考试乙级1008(C语言实现)
- PAT考试乙级1007(C语言实现)
- 多线程通信
- Introducing Elixir, 2nd Edition.pdf 英文原版 免费下载
- 01helloworld
- 常用排序算法之折半插入排序
- java基础知识总结(3)(循环语句)
- PAT 乙级 1010 C语言
- Python 工程
- MySQL小试牛刀
- Pro Functional PHP Programming.pdf 英文原版 免费下载
- 实用工具
- java基础知识总结(4)(Random、数组)
- 【JavaScript】parseInt() 数值转换的注意地方
- iphone输入文字移动光标的方法
- MySQL-python编译错误的问题