PTA 7-1 一元多项式求导 —— C语言做法

Delphine ·
更新时间:2024-09-21
· 935 次阅读

1.题目

设计函数求一元多项式的导数。

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

输出格式:
以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。

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

2.分析题意

这道题的题意是,输入要两个两个数一起看,每两个数可以看做分别是一个变量x的系数和指数,然后求导。其实很简单的题,因为是两个数要一起看,所以我们可以首先想到定义一个结构体。
求导的规律就是,系数和指数相乘,指数减一。
还有注意上面给出的样例,如果系数为0,求导以后就没有输出了,所以,还要注意的是:
当系数和指数为0的时候,就没有输出。

3.代码 #include #include #include #define MAX 10001 typedef struct shu { int xi; int zhi; }Shu; int main() { Shu nums[MAX]; int n = 0,xi,zhi,i; char isEnd; while(1) { scanf("%d%d",&xi,&zhi); isEnd = getchar(); //因为这里没有限制输入的数字,所以我们可以通过判断数字后面是不是换行符 //来判断是否结束输入 if(zhi != 0 && xi != 0) { nums[n].xi = xi*zhi; nums[n].zhi = zhi-1; n++; } if(isEnd == '\n') break; } printf("%d %d ",nums[0].xi,nums[0].zhi); //注意输出的格式,最后一个数字后面没有空格 for(i=1;i<n;i++) { printf(" %d %d",nums[i].xi,nums[i].zhi); } return 0; } 爱吃草莓蛋糕的猴 原创文章 21获赞 23访问量 2105 关注 私信 展开阅读全文
作者:爱吃草莓蛋糕的猴



C语言 求导

需要 登录 后方可回复, 如果你还没有账号请 注册新账号