新手求助 C
#include"stdio.h"#include"string.h"#define max 699 long seven(long x){ long i,j,a[max],z=1; for(i=1;i<max;i++) //提取符合規則的數存入a數組中 if(i%10==7||i/10==7||i%7==0) { for(j=1;j<max;j++) a[j]=i; } if(x==1) //黨輸入為1時 { printf("7\n"); //直接輸出數值"7" } for(j=2;j<=max;j++) //Z用來儲存連續字符個數 初始值為1 { if(z==x&&x!=1) //黨z等於輸入的數字時候 { printf("%d",a[j-x-1]); //輸出連續數字的第一位數 break; //結束循環 } if(a[j]-a[j-1]==1) //黨數組連續兩個數相差1 { z++; //z數值+1 continue; //進入下一次循環 } if(a[j]-a[j-1]!=1) //黨數組連續兩個數相差不為1 { z=1; //z初始化為1 continue; //進入下一次循環 } return 0; }}main(){ long p; scanf("%d",&p); seven(p);}long i,j,a[max],z=1,count=0;for(i=1;i<max;i++) if(i%10==7||i/10==7||i%7==0) { count++; a[j]=i; //没看到j初始化过. j++; }
[解决办法]
你的j确实没有初始化,还有看不清你想表达什么意思,还用的是繁体字。