#include<stdio.h>
#include<string.h>
#include<math.h>
#include<malloc.h>
int main()
{
//思路:
int t=0;
int a[100][2000];
int b[100];
scanf("%d",&t);//几组数据
for(int i=0,n=0,j=0;i<t;i++)
{
scanf("%d",&n);
for(int j=1,count=0;j<=n;j++)
{
if(j%7==0||j/1000%10==7||j/100%10==7||j/10%10==7||j%10==7)
{
printf("%d ",j);
// a[i][count++]=j;
// b[i]=count;//把数据个数存给数组b
}
}printf("\n");
}
// for(int i=0;i<t;i++)
// {
// for(int j=0;j<b[i];j++)
// {
// printf("%d ",a[i][j]);
// }
// printf("\n");
// }
return 0;//今天又是没带return 0的一天
}
不知道谁的问题,这是错的
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<malloc.h>
int main()
{
//思路:
int t=0;
int a[100][2000];
int b[100];
scanf("%d",&t);//几组数据
for(int i=0,n=0,j=0;i<t;i++)
{
scanf("%d",&n);
for(int j=1,count=0;j<=n;j++)
{
if(j%7==0||j/1000%10==7||j/100%10==7||j/10%10==7||j%10==7)
{
// printf("%d ",j);
a[i][count++]=j;
b[i]=count;//把数据个数存给数组b
}
}//printf("\n");
}
for(int i=0;i<t;i++)
{
for(int j=0;j<b[i];j++)
{
printf("%d ",a[i][j]);
}
printf("\n");
}
return 0;//今天又是没带return 0的一天
}
不应该是这种输出吗











