新手求助 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确实没有初始化,还有看不清你想表达什么意思,还用的是繁体字。