设计函数求一元多项式的导数。(注:xn(n为整数)的一阶导数为nxn−1。)
输入格式:
以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。
输出格式:
以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表示为 0 0
。
输入样例:
3 4 -5 2 6 1 -2 0
输出样例:
12 3 -10 1 6 0
解题思想:这题是参考的一位大神的代码,连接我一会儿放在下面。自己写了一段代码,运行好像会造成执行错误,反正就是各种bug,干脆看一下别人思路,大神真的牛逼。最让我惊讶的是居然没用到数组,两个整形变量就解决了。
其实我有个疑问,不用数组,那输入数据存放在哪里呢,缓冲区吗,代码中scanf的话是输入两个读取两个,那其他剩下的数据怎么办,请看到这个帖子的大佬帮忙解答一下,谢谢了,不多说,上代码。
参考连接:(9条消息) 1010 一元多项式求导 (25 分) C语言_墨海之南的博客-CSDN博客
#include<stdio.h>
int main()
{
int a,b;
int flag=0;
//scanf是有返回值的
//如果用户输入”3 4”,可以正确输入,返回2(正确输入了两个变量);
while(scanf("%d %d",&a,&b)==2)
{
if(b!=0)
{
if(flag==0)
printf("%d",a*b);
else
printf(" %d",a*b);
printf(" %d",b-1);
flag=1;
}
}
if(flag==0)
printf("0 0");
return 0;
}