CCF 201809-1 试题名称: 卖菜 C语言版
错误代码:
#include<stdio.h>
int main()
{
int n,a[100],b[100],i;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
b[0]=(a[0]+a[1])/2;
b[n-1]=(a[n-2]+a[n-1])/2;
for(i=1;i<n-1;i++)
{
b[i]=(a[i-1]+a[i+1]+a[i])/3;
}
for(i=0;i<n;i++)
{
printf("%d ",b[i]);
}
return 0;
}
错误原因:
数组大小的定义不符合题目要求,注意审题。
正确代码:
#include<stdio.h>
int main()
{
int n,a[1000],b[1000],i;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
b[0]=(a[0]+a[1])/2;
b[n-1]=(a[n-2]+a[n-1])/2;
for(i=1;i<n-1;i++)
{
b[i]=(a[i-1]+a[i+1]+a[i])/3;
}
for(i=0;i<n;i++)
{
printf("%d ",b[i]);
}
return 0;
}