判断循环问题(20分)

  • 主题发起人 主题发起人 mbmf1982
  • 开始时间 开始时间
M

mbmf1982

Unregistered / Unconfirmed
GUEST, unregistred user!
小弟想一个程序,就是如果我想在1000000-2000000之间把袋22626的数字都输出来,请问各位大虾怎么编呀
 
var
i:integer;
s: string;
begin
for i := 1000000 to 2000000do
if Pos(intToStr(i),'22626') > 0 then
s := intTostr(i) + ',';
end;
 
最简单的办法:
for i := 1000000 to 2000000do
begin
if Pos('22626', IntToStr(i)) > 0 then
//输出 i 值
end;
 
var
i:integer;
s: string;
begin
s:='';
for i := 10 to 19do
s :=s+ intTostr(i*10000+22626) + ',';
end
 
哥哥们,我是新手,你们的程序我看不懂,你们是不是再用java编程呀,为什么我一个语句也没明白呀,希望各位高手不吝赐教。
 
好好看书吧.
 
我帮你解释下吧
pos(substring,mainstring)这个函数功能是看一下mainstring这字符串中有没有包含substring字符串,如有的话,就输出第一个substring字符串的位置
所以,
for i := 1000000 to 2000000do
if Pos('22626',intToStr(i)) > 0 then
//即是看一下intToStr(i)这字符串中有没有包含22626字符串
s := intTostr(i) + ',';//如果有的话,即把该数字输出
///////////////////////////////////
yuzk2005,的方法是简化的,减少循环的次数;
因为你要判断含22626,所以从0-22625就可以着急不考虑了
for i := 10 to 19do
s :=s+ intTostr(i*10000+22626) + ',';
 
import java.lang.*;
public class panduan
{
public static void main(String[] args){
String s="22622";
String s1;
int i,j,a;
for(i=1000000;i<2000000;i++)
{s1=String.valueOf(i);
for (j=0;j+4<=6;j++)
{ a=s1.indexOf(s,j) ;
if (a!=-1){
System.out.println(s1);
j=a;
}
}
}
}
}
 
谢谢各位了,虽说还是有些不懂,不过要自己看了。不能老是靠别人,你们说是吧!!!
 

Similar threads

回复
0
查看
804
不得闲
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部