函数和排序练习一 c语言编程 纠错

Problem Description

输入n个数(n<=10),对其中的素数进行排序(剔除非素数),输出排序后的数列结果。
建议:编写若干函数,用以判断素数,以及对数组进行排序。

Input

第一行是一个正整数t,表示测试的总数。
然后是t行测试数据,每行由整数n开头,后面跟随n个整数。

Output

对于每组测试,输出从小到大排序后的结果(数字之间保留1空格,尾端无多余空格)。

Sample Input
2
5 2 4 7 9 3
6 8 6 4 2 11 7

Sample Output
2 3 7
2 7 11

#include<stdio.h>
int main()
{
int t,i,j,k,n,a[100],b[100],x,y;
scanf("%d",&t);
while(t--)
{
k=0;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<n;i++)
{
x=0;
y=a[i];
for(j=2;j<y;j++)
{
if(y%j==0)
{x=1;break;}
}
if(x==0)
b[k]=y;
k++;
}
for(k=0;b[k]!='\0';k++)
{
printf("%d",b[k]);
}
printf("\n");
}
return 0;
}

望高手们支招

第1个回答  2013-12-10
1.
for(i=0;i<n;i++)
{
scanf(" %d",&a[i]);
}
2.
if(x==0)
{b[k]=y;<br/>k++;}
}
b[k]='\0';
3.
for(k=0;b[k]!='\0';k++)
{
printf("%d ",b[k]);
}
我改了这3个地方,可以用了.
大家正在搜