解题思路:多个选择语句和循环语句的嵌套
注意事项:注意隐藏的条件,进行多次修改
参考代码:
#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 人评分
A+B for Input-Output Practice (VII) (C语言代码)浏览:1376 |
C二级辅导-同因查找 (C语言代码)浏览:554 |
小九九 (C语言代码)浏览:817 |
C语言程序设计教程(第三版)课后习题12.2 (C语言代码)浏览:805 |
C语言程序设计教程(第三版)课后习题6.3 (Java代码)浏览:650 |
拆分位数 (C语言代码)浏览:1327 |
不会做的浏览:872 |
简单的for循环浏览:1408 |
wu-理财计划 (C++代码)浏览:828 |
WU-输出正反三角形 (C++代码)浏览:1018 |