C程序-等差数列-2020-11-28

C程序-等差数列

为了记录自己变得更强。
题目:等差数列(来源XDOJ)

问题描述
 请写一个程序,判断给定整数序列能否构成一个等差数列。

输入说明
 输入数据由两行构成,第一行只有一个整数n(n<100),表示序列长度(该序列中整数的个数);
第二行为n个整数,每个整数的取值区间都为[-32768~32767],整数之间以空格间隔。

输出说明
 对输入数据进行判断,不能构成等差数列输出“no”,能构成等差数列输出表示数列公差(相邻两项的差)的绝对值的一个整数。

输入样例 :

样例1输入
6
23 15 4 18 35 11
样例2输入
5
2 6 8 4 10

输出样例

样例1输出
no
样例2输出
2

#include
#include
int main(){
     
	int n,i,j,c,a[100];
	for(i=0;i<100;i++){
     //初始化数组 √
		a[i]=0;
	}
	scanf("%d",&n);
	for(i=0;i<n;i++){
     //存入数组 √ 
		scanf("%d",&a[i]);
	}
	for(i=0;i<n;i++){
     //冒泡排个序 √ 
		for(j=0;j<n-i-1;j++){
     
			if(a[j]>a[j+1]){
     
				c=a[j];
				a[j]=a[j+1];
				a[j+1]=c;
			}
		}
	}
	for(;n>=3;n--){
     //判断可否为等差 √ 
		if(a[n-1]-a[n-2]!=a[n-2]-a[n-3]){
     
			printf("no");
			return 0;
		}
	}
	
	printf("%d",a[1]-a[0]);
    return 0;
}

你可能感兴趣的:(C语言,c语言)