
AC代码
#include<stdio.h>
#include<string.h>
#include<math.h>
int main(){
int n,temp;
scanf("%d",&n);
int score[n];
memset(score,0,sizeof(score));
for(int i=0;i<n;i++){
scanf("%d",&temp);
temp=abs(temp-i-1);//差值
score[temp]++;//差值对应个数+1
}
for(int i=n-1;i>=0;i--){
if(score[i]>1)printf("%d %d\n",i,score[i]);//出现一次不算重复
}
return 0;
}
该C语言代码读取一个整数n及n个数值,计算每个数与数组下标之差的绝对值,并统计差值大于1的情况。程序使用memset初始化数组,然后遍历输入数据,更新差值计数。最后,输出差值大于1且出现次数大于1的下标及其出现次数。
208

被折叠的 条评论
为什么被折叠?



