2013蓝桥杯C语言B组第七题求错题单的程序答案。
楼上的网友说很简单。事实上,因为每一行都不确定要放多少个数字,所以很难计算。
我一个字符一个字符地输入。如果是数字,我会保存。如果我遇到\0,我将执行atoi()。如果我遇到\n,我会结束它。
最后,使用确定\n是否等于输入。
想法简单,实现复杂。。
考试的时候我也没解出这道题。。
现在运行成功。
# include & ltstdio.h & gt
# include & ltstdlib.h & gt
const int N = 10000;
int mysort(常量void *a,常量void*b)
{
return *(int *)a-*(int *)b;
}
int main()
{
int count = 0;
int n,i=0,j=0,k = 0;
int a[N];
char ch[7];
scanf("%d\n ",& ampn);
for(count = 0;计数& ltn;)
{
scanf("%c ",& ampch[j]);
if(ch[j]& lt;= ' 9 ' & amp& ampch[j]& gt;='0')
j++;
else if(ch[j]== ' ')
{
a[k++]= atoi(ch);
j = 0;
}
else if(ch[j]=='\n ')
{
count++;
a[k++]= atoi(ch);
j = 0;
}
}
k-;
qsort(a,k,sizeof(int),my sort);
I = a[0];
for(j = 1;j & ltk;j++)
{
if(a[j]==i||a[j]==i+2)
printf("%d ",a[j]);
I = a[j];
}
返回0;
}