编写一个程序,读取一个整数序列,如果每个后续数字大于前一个,则打印“递增”,否则打印“不递增”。当你读一个负数时,就结束读数字。
到目前为止我得到的是:
#include <stdio.h>
int main()
{
int a[100],i;
for(i=0; ; i++)
{
scanf("%d",&a[i]);
if(a[i]<0)
break;
}
for(i=0;;i++)
{
if(a[i]<0)
break;
if(a[i+1]>a[i])
{
printf("increasing\n");
}
else if(a[i+1]<a[i])
printf("not increasing\n");
}
return 0;
}
样本输入:
1 4 6 2 6 3 -1
样本输出:
increasing
increasing
not increasing
increasing
not increasing
我得到:
increasing
increasing
not increasing
increasing
not increasing
not increasing
我的问题是如何去除最后不必要的“不增加”?
最佳答案
一个简单的解决方法是更改此测试(在第二个循环中),从:
if(a[i]<0)
break;
致:
if(a[i + 1]<0)
break;
不过,请注意,这不是很健壮,但它可能足以作为一个简单的家庭作业练习。
关于c - 如果整数序列的后续数量大于前一个,则显示“增加”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26348725/