有点问题弄不明白,请高手指点
我想制作一个程序,产生一组序号,并把其中所有带4的序号全部去掉,但不知为什么总去不掉源码如下,请高手指点指点,谢了
#include<stdio.h>
main()
{
int ws; //序号的位数
int qs; //序号的起始
int js; //序号的结束
int n,m,i,j;
//输入参数
printf("请输入序号的位(最少两位,最多四位):");
scanf("%d",&ws);
printf("请输入起始号码:");
scanf("%d",&qs);
printf("请输入结束号码:");
scanf("%d",&js);
//生成序号数组
n=(js-qs)+1;
m=qs;
int xh[n]; //序号数组
for(i=0;i<n;i++)
{
xh[i]=m;
m++;
}
//输出序号
FILE *fp;
fp=fopen("序号.txt","w+");
for(i=0;i<n;i++)
{
m=xh[i];
int x=1;
int y;
y=m;
if(y=4)
x++;
y=m/4;
if(y=4)
x++;
y=m/100;
if(y=4)
x++;
y=m/1000;
if(y=4)
x++;
y=m/10%10;
if(y=4)
x++;
y=m/100%10;
if(y=4)
x++;
if(x=1)
{
int z;
if(m<10)z=1;
else if(m<100)z=2;
else if(m<1000)z=3;
else if(m<10000)z=4;
switch(z)
{
case 3:fputs("0",fp);break;
case 2:fputs("00",fp);break;
case 1:fputs("000",fp);break;
default:return 0;
}
fprintf(fp,"%d\n",m);
}
}
fclose(fp);
}