之前我都是先输出一个,标记位置后,再输出printf(" %d",s[i]),后面输出时带空格,这样末尾就不会带空格了,不过这样写代码就显得比较繁琐啦,以后可以用一个标记符,让它初始值为0,结果输出时进行判断,如果为0,不输出空格,否则就输出,例如上面代码的‘t’;而且t还可以标记,是否有答案输出。例如上面正确代码的用法。
3:是关于printf("%05d",m)使用方法,’%05d’,5为要求输出位数,0为补位字符
#include<stdio.h>
int main()
{
int a[1000000]={ 0 };
int N,K,M;
int i,n,m,t=0;//t是标志符,一举两用,在是否输出空格和是否找到太帅的人做标记
scanf("%d",&N);
while(N--)
{
scanf("%d",&K);
for(i=1;i<=K;i++)
{
scanf("%d",&n);
if(K!=1)
{
a[n]=1;//此人不帅
}
}
}
scanf("%d",&M);
while(M--)
{
scanf("%d",&m);
if(a[m]==0)
{
if(t!=0) printf(" ");//按输出格式的
printf("%05d",m);// '%05d',输出占五位,不足者用0补位
a[m]=1;//输出后,做标记,避免重复查询
t++;
}
}
if(t==0) printf("No one is handsome");
return 0;
}