|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
输入有两行。
第一行是一个整数n(0 <= n <= 100)表明多项式的最高次幂为n。
第二行包含n+1个非负整数,C n ,C n-1 ,C n-2 ,C n-3 ,C n-4 ,… ,C 1,C 0(0 <= C i <= 1000)且Cn != 0。Ci是幂次为i的项的系数。
输出
在一行内输出f'(x)的结果。
(1) 如果g(x) = 0那么直接输出0
(2) 如果g(x)形如C m(x^m)+C m-1(x^(m-1))+…+C 0(C m!=0)那么输出C m…C 0
(3) 相邻整数之间有单个空格。
样例输入
2
5 3 6
样例输出
10 3
#include <stdio.h>
int main(void)
{
int pow,i,j;
int xishu[100];
scanf("%d",&pow);
for (i = 0;i <= pow;i++)
scanf("%d ",&xishu[i]);
for (--i,j = 0;i >= 0;i--,j++)
printf("%d ",xishu[i] * j);
return 0;
}
大佬可以教下我是哪里错了吗?
你的代码有一处小错误,导致输出结果不符合预期。在输入系数时,你使用了 scanf("%d ",&xishu[i]),其中 %d 表示读取整数,但是加上空格 " " 可能会导致换行符的读取问题。正确的写法应该是 scanf("%d", &xishu[i]),即去掉空格。
另外,你的循环中有一些小问题。以下是修改后的代码:
- #include <stdio.h>
- int main(void)
- {
- int pow, i, j;
- int xishu[100];
-
- scanf("%d", &pow);
- for (i = 0; i <= pow; i++)
- scanf("%d", &xishu[i]);
-
- for (i = pow, j = 1; i >= 1; i--, j++)
- printf("%d ", xishu[i] * j);
- printf("0\n"); // 输出最后一项的系数为0
-
- return 0;
- }
复制代码
修改后的代码会依次计算每一项的导数,并按照要求输出。最后加入了一个额外的输出语句,将最后一项的系数0输出,以满足题目要求。
希望这个解答能够帮到你!如果还有其他问题,请随时提问。
球一个最佳答案谢谢啦!这对我非常重要!  
|
|