该程序是想在12个二维数组中,依次从第一个数组开始自上而下的对比查找出有4个相同码并且另一个不相同码是在同一个位置上的,就将该数组赋予零并不做输出。如果同是相同4码但另一个不相同码是不在数组同一个位置的则照常输出。但该程序不能正确输出请赐教问题出在哪?多谢啦(2 6 14 15 22应该正常做输出才对)
下面是该程序和12个数组。
2 13 14 15 22
6 12 13 14 21
2 13 14 15 18
6 8 9 19 20
4 10 15 17 22
2 7 11 13 17
2 6 14 15 22
11 12 16 18 20
4 9 11 15 21
2 13 14 15 19
1 9 15 16 19
2 13 14 15 21
6 12 13 14 21
2 13 14 15 18
6 8 9 19 20
4 10 15 17 22
2 7 11 13 17
2 6 14 15 22
11 12 16 18 20
4 9 11 15 21
2 13 14 15 19
1 9 15 16 19
2 13 14 15 21
#include<stdio.h>
#include<math.h>
int jbb2;
void abc4(int a[][5],int jbb2);
void abc5(int a[][5],int jbb2);
void main()
{
int a[2000][5];
jbb2=12;
abc4(a,jbb2);
abc5(a,jbb2);
}
#include<math.h>
int jbb2;
void abc4(int a[][5],int jbb2);
void abc5(int a[][5],int jbb2);
void main()
{
int a[2000][5];
jbb2=12;
abc4(a,jbb2);
abc5(a,jbb2);
}
void abc4(int a[][5],int jbb2)
{
int i,j;
FILE *pf;
if((pf=fopen(“d:\\001A数组.txt”,”r”))==NULL)
{
printf(“Cannot open file!”);
return;
}
for(i=0;i<jbb2;i++)
for(j=0;j<5;j++)
{
fscanf(pf,”%4d”,&a[j]);
fscanf(pf,”\n”);
}
fclose(pf);
}
{
int i,j;
FILE *pf;
if((pf=fopen(“d:\\001A数组.txt”,”r”))==NULL)
{
printf(“Cannot open file!”);
return;
}
for(i=0;i<jbb2;i++)
for(j=0;j<5;j++)
{
fscanf(pf,”%4d”,&a[j]);
fscanf(pf,”\n”);
}
fclose(pf);
}
void abc5(int a[][5],int jbb2)
{
int i,j,s,counter,counter1;
for(i=0;i<jbb2;i++)
{
counter1=0;
for(s=i+1;s<jbb2;s++)
{
counter=0;
for(j=0;j<5;j++)
{
if(a[s][j]==a[j])
counter++;
if(counter==4)
{
a[s][j]!=a[j];
counter1=j;
}
if(counter==4 && counter1==j)
a[s][j]=0;
}
}
if(a[4]>0)
{
for(j=0;j<5;j++)
printf(“%4d”,a[j]);
printf(“\n”);
}
}
}
{
int i,j,s,counter,counter1;
for(i=0;i<jbb2;i++)
{
counter1=0;
for(s=i+1;s<jbb2;s++)
{
counter=0;
for(j=0;j<5;j++)
{
if(a[s][j]==a[j])
counter++;
if(counter==4)
{
a[s][j]!=a[j];
counter1=j;
}
if(counter==4 && counter1==j)
a[s][j]=0;
}
}
if(a[4]>0)
{
for(j=0;j<5;j++)
printf(“%4d”,a[j]);
printf(“\n”);
}
}
}
>> 本文固定链接: http://www.vcgood.com/archives/3412
我已调试成功啦,请看以下程序
#include<math.h>
int jbb2;
void abc4(int a[][5],int jbb2);
void abc5(int a[][5],int jbb2);
void main()
{
int a[2000][5];
jbb2=12;
abc4(a,jbb2);
abc5(a,jbb2);
}
{
int i,j;
FILE *pf;
if((pf=fopen(“d:\\001A数组.txt”,”r”))==NULL)
{
printf(“Cannot open file!”);
return;
}
for(i=0;i<jbb2;i++)
for(j=0;j<5;j++)
{
fscanf(pf,”%4d”,&a[j]);
fscanf(pf,”\n”);
}
fclose(pf);
}
{
int i,j,s,counter,counter2,sum,sum1;
for(i=0;i<jbb2;i++)
{
sum=0;
for(s=i+1;s<jbb2;s++)
{
counter=0;counter2=0;sum1=0;
for(j=0;j<5;j++)
{
if(a[s][j]==a[j])
{
counter++;
counter2=counter2+j;
}
if(counter==4)
{
sum1=counter2;
if(sum==0)
sum=counter2;
}
if(counter==4 && sum==sum1)
a[s][j]=0;
}
}
if(a[4]>0)
{
for(j=0;j<5;j++)
printf(“%4d”,a[j]);
printf(“\n”);
}
}
}