请教个C++ 数据筛选问题!
我写的代码:#include<stdio.h>
#include<math.h>
int jsvalue(int bb[])
{
int i,a,b,c,n;
for(i=10,n=0;i*i<=999;i++)
{
a=i*i/100;
b=i*i/10%10;
c=i*i%10;
if(a==b||b==c||c==a)
bb[n++]=i*i;
}
return n;
}
void main()
{
int b[20],num,i;
num=jsvalue(b);
for(i=0;i<num;i++)
printf("%d ",b[i]);
printf("\n");
}
万分感谢!
[解决办法]
数组越界了,n最大不能超过20
#include<stdio.h>#include<math.h>int jsvalue(int bb[]){ int i,a,b,c,n; for(i=10,n=0;i<=999;i++) { a=i*i/100; b=i*i/10%10; c=i*i%10; if(a==b||b==c||c==a) { bb[n++]=i*i; } printf("%d ", n); } printf("最后n的值:n=%d\n", n); return n;}void main(){ int b[20],num,i; num=jsvalue(b); printf("num=%d\n", num); for(i=0;i<num;i++) printf("%d ",b[i]); printf("\n"); }