比较两个数组的大小,该如何处理
比较两个数组的大小
请问下面的程序有何问题,为什么我输入任何数据结果都一样!!!!晕了!
/* Note:Your choice is C IDE */
#include "stdio.h "
main()
{
int large(int x,int y); /*函数声明*/
int a[10],b[10],i,n=0,m=0,k=0;
printf( "enter array a: \n ");
for(i=0 ;i <10;i++)
scanf( "%d,&a[i] ");
printf( "\n ");
printf( "enter array b: \n ");
for(i=0 ;i <10;i++)
scanf( "%d,&b[i] ");
printf( "\n ");
for(i=0; i <10;i++)
{
if(large(a[i],b[i])==1)
n=n+1;
else if(large(a[i],b[i])==0)
m=m+1;
else k=k+1;
}
printf( "a[i]> b[i]%d times\n a[i]= b[i]%d times\n a[i] <b[i]%d times\n ",n,m,k);
if (n> k) printf( "arrry a is larger than array b \n ");
else if(n <k) printf( "arrry b is larger than array a \n ");
else printf( "arrry a is equal to array b \n ");
}
large(int x,int y)
{int flag;
if(x> y) flag=1;
else if(x <y) flag=-1;
else flag=0;
return(flag);
}
------解决方案--------------------
scanf写错了
scanf( "%d ",&a[i]);
------解决方案--------------------
汗。。。
scanf( "%d,&a[i] ");
——————————————
scanf( "%d ", &a[i]);
scanf( "%d,&b[i] ");
_________________________________
scanf( "%d ", &b[i]);
------解决方案--------------------
首先2个地方有错,如下:
for(i=0 ;i <10;i++)
scanf( "%d ",&a[i]);
for(i=0 ;i <10;i++)
scanf( "%d ",&b[i]);
另外判断数组是否相等,最后的判断条件不成立,主要是for循环的算法有问题。
例如,依次输入1 2 3 4 5 6 7 8 9 0和0 9 8 7 6 5 4 3 2 1这样的数组就不能判断为相等。
请问下面的程序有何问题,为什么我输入任何数据结果都一样!!!!晕了!
/* Note:Your choice is C IDE */
#include "stdio.h "
main()
{
int large(int x,int y); /*函数声明*/
int a[10],b[10],i,n=0,m=0,k=0;
printf( "enter array a: \n ");
for(i=0 ;i <10;i++)
scanf( "%d,&a[i] ");
printf( "\n ");
printf( "enter array b: \n ");
for(i=0 ;i <10;i++)
scanf( "%d,&b[i] ");
printf( "\n ");
for(i=0; i <10;i++)
{
if(large(a[i],b[i])==1)
n=n+1;
else if(large(a[i],b[i])==0)
m=m+1;
else k=k+1;
}
printf( "a[i]> b[i]%d times\n a[i]= b[i]%d times\n a[i] <b[i]%d times\n ",n,m,k);
if (n> k) printf( "arrry a is larger than array b \n ");
else if(n <k) printf( "arrry b is larger than array a \n ");
else printf( "arrry a is equal to array b \n ");
}
large(int x,int y)
{int flag;
if(x> y) flag=1;
else if(x <y) flag=-1;
else flag=0;
return(flag);
}
------解决方案--------------------
scanf写错了
scanf( "%d ",&a[i]);
------解决方案--------------------
汗。。。
scanf( "%d,&a[i] ");
——————————————
scanf( "%d ", &a[i]);
scanf( "%d,&b[i] ");
_________________________________
scanf( "%d ", &b[i]);
------解决方案--------------------
首先2个地方有错,如下:
for(i=0 ;i <10;i++)
scanf( "%d ",&a[i]);
for(i=0 ;i <10;i++)
scanf( "%d ",&b[i]);
另外判断数组是否相等,最后的判断条件不成立,主要是for循环的算法有问题。
例如,依次输入1 2 3 4 5 6 7 8 9 0和0 9 8 7 6 5 4 3 2 1这样的数组就不能判断为相等。