问题遇到的现象和发生背景
用代码块功能插入代码,请勿粘贴截图
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
int a[100];
int temp;
int flag;
int n,m;
int i,j;
int num;
scanf("%d", &n);
for(;n > 0;n--)
{
while(scanf("%d", &m) != EOF)
{
for(i=0;i < m;i++)
{
scanf("%d", &a[i]);
}
for(i=0;i < m-1;i++)
{
for(j=0;j < m - 1 -i;j++)
{
if(a[j] > a[j+1])
{
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}//起泡法排序
num = a[1] - a[0];
for(i = 0; i+1 < m;i++)
{
if(a[i+1] - a[i] == num)
flag = 1;
else
{
flag = 0;
break;
}
}
if(flag == 1)
printf("yes\n");
else if(flag == 0)
printf("no\n");
}
}
}
运行结果及报错内容
运行可以实现部分的数是否为等差数列的判断,但是过不了oj
我的解答思路和尝试过的方法
接手数据,数组储存,冒泡法排序,相邻两个数做差,用循环判断后续是否差值是否相等
我想要达到的结果
了解程序不足在哪