C语言习题

1.有序序列的判断

输入一个整数序列,判断是否是有序序列,有序,指序列中的整数从小到大排序或者从大到小排序(相同元素也视为有序)。

#include 
int main()
{
    int n=0;
    scanf("%d",&n);
    int i=0;
    int arr[n];
    for(i=0;i=arr[i+1])
        {
            f1=1;
        }
        else if(arr[i]

(1)判断一个数组是否有序,可以是升序,也可以是降序,比较复杂,这个方法巧妙地引入了变量f1

和f2,初始化为0;

(2)升序时,使用for循环两两比较,前者大于后者,则f1=1,前者小于后者,则f2=1;

如果升序,循环结束的时候,f1=0,f2=1,两者的和是1;

如果降序,循环结束的时候,f1=1,f2=0,两者的和是1;

这个时候,均是有序的序列;

否则,就会造成f1+f2和是2,就不是有序序列;

(3)如果序列里面的数字全部相同,就应该也是有序的,所以我们只需要在下面的这个判断条件

里面加相等的条件,加在if或者else if都是可以的,我选择加在if语句上面;

        if(arr[i]>=arr[i+1])
        {
            f1=1;
        }
        else if(arr[i]         {
            f2=1;
        }

你可能感兴趣的:(C语言习题集,c语言,算法,数据结构)