新手求助CC/C++ code#includestdio.h#includestring.h#define max 699long seven(long x){long i,j,a[
新手求助 C
- C/C++ code
#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);}大約功能就是在1~max範圍内
所有可以被7整除或者含有7的整數中
輸入一個數p p相當於符合條件數字的連續次數
輸出最小的滿足p的第一個滿足條件的整數
(完了 語言表達能力越來越差了,,,,, 看了代碼應該就差不多能知道是怎麽意思了)
[解决办法]
- C/C++ code
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确实没有初始化,还有看不清你想表达什么意思,还用的是繁体字。 