解题思路:多个选择语句和循环语句的嵌套
注意事项:注意隐藏的条件,进行多次修改
参考代码:
#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语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:716 |
兰顿蚂蚁 (C++代码)浏览:1091 |
大小写转换 (C语言代码)浏览:858 |
最小公倍数 (C语言代码)浏览:863 |
printf基础练习2 (有点不明白)浏览:844 |
淘淘的名单 (C语言代码)浏览:1104 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:1099 |
【矩阵】 (C++代码)浏览:949 |
C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:621 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:607 |