解题思路:多个选择语句和循环语句的嵌套
注意事项:注意隐藏的条件,进行多次修改
参考代码:
#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 人评分
K-进制数 (C++代码)浏览:858 |
C语言程序设计教程(第三版)课后习题8.1 (Java代码)浏览:781 |
弟弟的作业 (C++代码)浏览:1304 |
母牛的故事 (C语言代码)浏览:435 |
数组输出 (C语言代码)--此题的题目描述有问题浏览:1817 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:596 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:513 |
母牛的故事 (C语言代码)浏览:1428 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:545 |
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:1479 |