某dalao的题解求dalao们指点,不知道为什么数组爆炸......

P1008 [NOIP1998 普及组] 三连击

#include<stdio.h> #include<string.h> int a[10]; int main(){ for (int x=123;x<=329;x++){ //枚举 int i=x,j=x*2,k=x*3; int o=i,p=j,q=k; int flag=0; //清零 memset(a,0,sizeof(a)); while(i>0){ //取数 a[i%10]++; i/=10; } if(flag==1) continue; while(j>0){ a[j%10]++; j/=10; } while(k>0){ a[k%10]++; k/=10; } for (int w=1;w<=9;w++){ //判断 if(a[w]!=1) flag=1; } if(flag==0) printf("%d %d %d\n",o,p,q); //输出 } return 0; } 模版有问题......
by evans @ 2018-02-02 18:30:05


```c #include<stdio.h> #include<string.h> int main(){ int a[10]; for (int x=123;x<=329;x++){ //枚举 int i=x,j=x*2,k=x*3; int o=i,p=j,q=k; int flag=0; //清零 memset(a,0,sizeof(a)); while(i>0){ //取数 a[i%10]++; i/=10; } if(flag==1) continue; while(j>0){ a[j%10]++; j/=10; } while(k>0){ a[k%10]++; k/=10; } for (int w=1;w<=9;w++){ //判断 if(a[w]!=1) flag=1; } if(flag==0) printf("%d %d %d\n",o,p,q); //输出 } return 0; } ```
by evans @ 2018-02-02 18:31:32


舒服连盖四楼...如果a数组换成全局或者memset函数换成for循环就不会出问题。所以不知道源程序问题在哪里...
by evans @ 2018-02-02 18:32:52


|