【做题记录】[牛客网]网易2018校招内推编程题集合:第二题-等差数列
2018-03-27 04:54
381 查看
网易2018校招内推编程题集合
[编程题] 等差数列
题目大概是:输入一个数列,可以任意交换位置,判断是否为等差数列。
做题思路:输入数字,冒泡排序(小→大),逐个计算差值,差值不同则flag=0,循环终止,输出。
注意:数组的边界!循环的时候最容易出错了。(我脑子问题)
语言:C语言(因为刚结束CCF考试......对C熟悉点)
[编程题] 等差数列
题目大概是:输入一个数列,可以任意交换位置,判断是否为等差数列。
做题思路:输入数字,冒泡排序(小→大),逐个计算差值,差值不同则flag=0,循环终止,输出。
注意:数组的边界!循环的时候最容易出错了。(我脑子问题)
语言:C语言(因为刚结束CCF考试......对C熟悉点)
#include<stdio.h> int main(int argv,char *argc[]) { int n; int a[50]; scanf("%d",&n); int i; for(i=0;i<n;i++) { scanf("%d",&a[i]); } int temp,j; for(i=0;i<n;i++) { for(j=0;j<n-i-1;j++) { if(a[j]>a[j+1]) { temp = a[j]; a[j] = a[j+1]; a[j+1] = temp; } } } int d=a[1]-a[0]; int flag=1; for(i=1;i<n-1;i++) #注意点1:i<n-1,则i最大取到n-2,而循环中出现的索引i+1,说明循环中最大取到n-1,而数组索引是0~n-1,正好取完整。 { if(d!=(a[i+1]-a[i])) { flag=0; break; #注意点2:有没有break其实无所谓,只不过省一点点点运行时间吧... } } if(flag==1) printf("Possible"); else if(flag==0) printf("Impossible"); }
相关文章推荐
- 【做题记录】[牛客网]网易2018校招内推编程题集合:第一题-彩色的砖块排列
- 【做题记录】[牛客网]网易2018校招内推编程题集合:第三题-交错01串
- 网易2018校招内推编程题集合:等差数列 [python]
- 网易2018校招编程题集合4
- 网易2018校招编程题集合4
- 网易2018校招编程题集合3
- 网易2018校招编程题集合5
- 网易2018校招编程题集合
- 网易2018校招内推编程题集合:交错01串 [python]
- 网易2018校招内推编程题集合
- 网易2018校招编程题集合7
- 网易2018校招内推编程题集合:堆棋子 [python]
- 网易2018校招内推编程题集合
- 网易2018校招内推编程题集合:小易喜欢的数列 [python]
- 牛客网-网易2018校招内推编程题集合-解题思路及源码
- 网易2018校招编程题集合8
- 网易2018校招内推编程题集合:疯狂队列 [python]
- 网易2018校招内推编程题集合:独立的小易 [python]
- 网易2018校招内推题目记录
- 【牛客网】网易2017秋招编程题集合