解题思路:多个选择语句和循环语句的嵌套
注意事项:注意隐藏的条件,进行多次修改
参考代码:
#include<stdio.h>
int main()
{
int a[50], n, i,k;
scanf_s("%d", &n);
if (n <= 50&&n>0)
{
k = n;
for (i = 0; i < n; i++)
scanf_s("%d", &a[i]);
if (k != 1)
{
switch (a[0])
{
case 1:
printf("x^%d", k); break;
case 0:
break;
case -1:
printf("-x^%d", k); break;
default:
{
printf("%dx^%d", a[0], k); break;
}
}
}
else
{
switch (a[0])
{
case 1:
printf("x"); break;
case 0:
break;
case -1:
printf("-x"); break;
default:
printf("%dx", a[0]); break;
}
}
for (i = 1; i < n; i++)
{
if (k != 2)
{
if (a[i] == 0)
{
k -= 1;
continue;
}
else if (a[i] < 0)
{
if (a[i] == -1)
{
k -= 1;
printf("-x^%d", k);
}
else
{
k -= 1;
printf("%dx^%d", a[i], k);
}
}
else
{
if (k != 3)
{
if (a[0] != 0)
{
if (a[i] == 1)
{
k -= 1;
printf("+x^%d", k);
}
else
{
k -= 1;
printf("+%dx^%d", a[i], k);
}
}
else
{
if (a[i] == 1)
{
k -= 1;
printf("x^%d+", k);
}
else
{
k -= 1;
printf("%dx^%d+", a[i], k);
}
}
}
else
{
if (a[0] != 0)
{
if (a[i] == 1)
{
k -= 1;
printf("+x^%d", k);
}
else
{
k -= 1;
printf("+%dx^%d", a[i], k);
}
}
else
{
if (a[i] == 1)
{
k -= 1;
printf("x^%d", k);
}
else
{
k -= 1;
printf("%dx^%d", a[i], k);
}
}
}
}
}
else
{
if (a[i] == 0)
continue;
else if (a[i] == 1)
{
printf("+x");
}
else if (a[i] == -1)
{
printf("-x");
}
else if (a[i] < 0)
{
printf("%dx", a[i]);
}
else
{
printf("+%dx", a[i]);
}
}
}
}
else return 0;
}
0.0分
5 人评分
【偶数求和】 (C++代码)浏览:785 |
C语言考试练习题_排列 (C语言代码)浏览:1373 |
【金明的预算方案】 (C++代码)浏览:996 |
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:638 |
printf基础练习2 (C语言代码)浏览:547 |
字符串比较 (C语言代码)浏览:770 |
C二级辅导-等差数列 (C语言代码)浏览:891 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:532 |
小O的乘积 (C语言代码)浏览:1062 |
简单的a+b (C语言代码)浏览:617 |