现在的位置: 首页 > 竞赛 > 正文

多项式输出

2011年03月27日 竞赛 ⁄ 共 153字 ⁄ 字号 暂无评论

这道题不怎么难,但要考虑周全

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <stdio.h>
 
#define SIZE 100
 
int abs(int n)
{
	return (n>=0) ? n : -n;
}
 
int main(int argc, char *argv[])
{
	int n;
	int a[SIZE+1];
	int i;
	char sign;
 
	scanf("%d", &n);
	for (i=0; i<=n; i++) {
		scanf("%d", &a[i]);
	}
 
	for (i=0; i<=n; i++) {
		if (a[i]==0) continue;
		sign = (a[i]>0) ? '+' : '-';
		if (i) putchar(sign);
		if (i==0 && a[0]<0) putchar('-');
		if (i==n) {
			printf("%d", abs(a[n]));
			continue;
		} 
		if (a[i]!=1 && a[i]!=-1) 
			printf("%d", abs(a[i]));
		putchar('x');
		if (i!=n-1) 
			printf("^%d", n-i);
 
	}
 
	return 0;
}
【上篇】
【下篇】

抱歉!评论已关闭.