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;

}