编程马拉松(3)
本贴引自第八阁论坛:http://bbs.chinadbg.cn/forum-7-1.html还有飞翔技术论坛:http://www.powk.net/bbs/forumdisplay.php?fid=4&page=1
从键盘输入10个数,排序,请高手们写出高级语言+汇编+反汇编,代码
还有要注意,我写程序的错误,因为这才是真正要让大家学习的地方。
非常高兴看到大家的支持,你们发的程序,请在第二天加上注释。(主要是有错的程序)
基础知识:变量初始化,数组应用,条件判断,循环,和打印程序,还有基础的语法,还有一个任务找错!!。我写的是C代码,其它代码各个朋友自己理解一下,也可以PM发贴人。也可以发提问
以下是C语言,常用排序方法。注意一点是可以有方法提高效率的。
main()
{
int i,j,a,b;
for(i=0;i<10;i++)/*从键盘输入10个数*/
scanf("%d",&a) ;
/*以下冒泡排序*/
/*冒泡排序的基本思想:对于n个数进行排序(现假定是从大到小排序,以下均按此进行),将相邻两个数依次比较,将大数调在前头:也就是说第一个数和第二个数比较,大数放前,小数放后,第二个和第三个进行比较,大数放前、小数放后,然后依次类推。。。经过第一轮比较以后,我们找到一个最小数在最下面(沉底)。然后进行下一轮比较,最后一个数就不用再参加比较了,所以本轮就可以少比较一次。*/
for(i=0;i<10;i++)
for(j=0;j<10-i;j++)
if(a<a)
{
b=a;a=a;a=b;
}
for(i=0;i<10;i++)
printf("%d\n",a);
getch();
/*以下选择排序*/
/*排序的基本思想:先从第一个数开始起,用第一个数和其它的数进行比较,如果比第一个数大就交换位置,否则不进行交换,这样经过第一轮比较我们就能够找出最大值放在第一位置,然后从第二个位置起再找次大数,这样依次下去,就可以进行整个数的排序,实践证明,n个数最多需要n-1轮排序就可以了。*/
/*以下插入排序*/
/*插入排序基本思想:(假定从大到小排序)依次从后面拿一个数和前面已经排好序的数进行比较,比较的过程是从已经排好序的数中最后一个数开始比较,如果比这个数小,继续往前面比较,直到找到比它大的数,然后就放在它的后面,如果一直没有找到,肯定这个数已经比较到了第一个数,那就放到第一个数的前面。*/
}
void Display(int a[], int n);
void InsertSort(int a[], int n);
void ShellSort(int a[], int n);
void BubbleSort(int a[], int n);
void QuickSort(int a[], int low, int high);
void SelectSort(int a[], int n);
void HeapSort(int a[], int n);
int main(int argc, char* argv[])
{
int a ={83,78,12,45,189,98,54,10,17,18,
70,65,27,199,69,73,92,39,46,75,};
Display(a,20);
HeapSort(a,20);
Display(a,20);
int i = 0;
scanf("%d", &i);
return 0;
}
void Display(int a[], int n)
{
for (int i=0; i<n; i++)
{
printf("%d", a);
}
printf("\n");
}
//插入排序
void InsertSort(int a[], int n)
{
int key;
int j;
for (int i=1; i<n; i++)
{
key = a;
j = i-1;
while (j>=0 && key<a)
{
a = a;
j--;
}
a = key;
}
}
//Shell排序
void ShellSort(int a[], int n)
{
int i,j,key;
int dl = n/2;
while (dl >0)
{
for (i=dl; i<n; i+=dl)
{
key = a;
j = i - dl;
while (j>=0 && key<a)
{
a = a;
j = j - dl;
}
a = key;
}
dl = dl/2;
}
}
//冒泡排序
void BubbleSort(int a[], int n)
{
int tem, i, j, flag =1;
for (i=1; i<n && flag; i++)
{
flag = 0;
for (j=0; j<n-i; j++)
{
if (a>a)
{
tem = a;
a = a;
a = tem;
flag = 1;
}
}
}
}
//快速排序中调用划分区域函数
int Partition(int a[], int low, int high)
{
int key = a;
while (low < high)
{
while (low <high && a>=key) high --;
a = a;
while(low <high && a<=key) low ++;
a = a;
}
a = key;
return low;
}
//快速排序,递归函数,low为数组下界,high为数组上界
void QuickSort(int a[], int low, int high)
{
int par;
if (low < high)
{
par = Partition(a, low, high);
QuickSort(a, low, par-1);
QuickSort(a, par+1, high);
}
}
//选择排序
void SelectSort(int a[], int n)
{
int i,j,k,tem;
for (i=0; i<n-1; i++)
{
k = i;
for (j=i+1; j<n; j++)
{
if (a > a)
{
k=j;
}
}
if (k!=i)
{
tem = a;
a = a;
a = tem;
}
}
}
//堆排序中调用函数,从s这个结点开始调整堆为一个大堆
void AdjustHeap(int a[], int s, int n)
{
int i;
int key = a;
for (i=s*2; i<=n; i=i*2)
{
if (i<n && a < a)
{
i++;
}
if (key> a)
{
break;
}
a = a;
s = i;
}
a = key;
}
//堆排序
void HeapSort(int a[], int n)
{
int i,j,tem;
for (i=n/2; i>0; i--)
{
AdjustHeap(a, i, n);
}
for (j=0; j<n; j++)
{
tem = a;
a = a;
a = tem;
AdjustHeap(a, 1, n-j-1);
}
}
procedure TForm1.Button1Click(Sender: TObject);
var
InputString,ResultString:String;
TmpInt,IntCount,ErrorType,i,j:Integer;
IntNum:array of Integer;
begin
ResultString:='';
ErrorType:=0;
InputString:= InputBox('输入窗口', '输入10个整数请用空格隔开', '1 2 3 4 5 6 7 8 9 0');
InputString:=Trim(InputString)+' ';
while pos('',InputString)<>0 do Delete(InputString,pos('',InputString),1);//清除可能出现的多空格分隔符
If trim(InputString)='' then ErrorType:=1;//判断输入字符串的合法性
for i := 1 to Length(InputString) do
begin
if not (InputString in ['0'..'9',#$20]) then ErrorType:=1;
end;
if ErrorType<>1 then //数据无异常开始
begin
IntCount:=0;
while Length(InputString)>0 do //开始填入数组
begin
IntNum:=StrToInt(LeftStr(InputString,pos(' ',InputString)-1)); //leftStr 从左取得分隔符之前的数字
Delete(InputString,1,pos(' ',InputString));
inc(IntCount);
end;
//开始冒泡
for I := 0 to IntCount-1 do
begin
for j := i to IntCount-1 do
begin
if IntNum<IntNum then
begin
TmpInt:=IntNum;
IntNum:=IntNum;
IntNum:=TmpInt;
end;
end;
end;
//泡泡冒完
for I := 0 to IntCount - 1 do
ResultString:=ResultString+''+IntToStr(IntNum);
Showmessage('共输入了'+IntToStr(IntCount)+'数字。排序:'+ResultString);
end
else ShowMessage('输入中含非数字字符或没有输入数据!'); //数据无异常结束
end;
我的第一个C++程序
第一种方法,主要是函数不同,以及调用方式的不同//C++版冒泡排序程序
#include<iostream>
using namespace std;
void swap(int &a,int &b)
{
int tem = a;
a = b;
b = tem;
}
void main()
{
int i,j,arr;
for(i=0;i<10;i++)
{
cout<<"请输入10个整数:";
cin>>arr;
}
for(i=0;i<10;i++) //数组数据的循环比较
{ for(j=0;j<10-i-1;j++) //每一轮的比较
{ if(arr<arr) //比较相邻两个数大小
{swap(arr,arr); //互换函数的调用
}
}
}
for(i=0;i<10;i++)
{ cout<<"正确的从大到小的排序:"<<arr<<endl;
}
}SWAP函数第二种实现及调用方法:void swap(int *a, int *b)
{int tem = *a;
*a = *b
*b = tem;
}
调用时是:swap(&arr,&arr)下面是对我这个程序的反汇编代码0041E450push ebp ;从这里开始就是main()函数的开始
0041E451mov ebp, esp
0041E453sub esp, 108
0041E459push ebx
0041E45Apush esi
0041E45Bpush edi
0041E45Clea edi, dword ptr
0041E462mov ecx, 42
0041E467mov eax, CCCCCCCC
0041E46Crep stos dword ptr es:
0041E46Emov dword ptr , 0
0041E475jmp short 0041E480
0041E477mov eax, dword ptr ;eax就相当与i ,从这里开始循环
0041E47Aadd eax, 1 ;i++
0041E47Dmov dword ptr , eax ;把i保存了
0041E480cmp dword ptr , 0A ;i与10比较
0041E484jge short 0041E4AC ;i大于10就跳
0041E486push 004570E4 ;请输入10个整数:
0041E48Bpush 004607D0
0041E490call 0041CB6D ;显示“请输入10个整数:”
0041E495add esp, 8
0041E498mov eax, dword ptr
0041E49Blea ecx, dword ptr
0041E49Fpush ecx
0041E4A0mov ecx, 00460710
0041E4A5call 0041CAAA ;执行输入命令,相当与C++中的 cin<<arr
0041E4AAjmp short 0041E477 ;跳回去循环
0041E4ACmov dword ptr , 0 ;对i进行初始化
0041E4B3jmp short 0041E4BE
0041E4B5mov eax, dword ptr
0041E4B8add eax, 1 ;i++
0041E4BBmov dword ptr , eax
0041E4BEcmp dword ptr , 0A ;i与10比较
0041E4C2jge short 0041E512 ;大于就跳
0041E4C4mov dword ptr , 0 ;相当与对j初始化,j=0
0041E4CBjmp short 0041E4D6
0041E4CDmov eax, dword ptr
0041E4D0add eax, 1 ;j++
0041E4D3mov dword ptr , eax
0041E4D6mov eax, 0A ;从这里开始的三条指令其实就是10-i-1
0041E4DBsub eax, dword ptr
0041E4DEsub eax, 1
0041E4E1cmp dword ptr , eax ;这里就是j<10-i-1
0041E4E4jge short 0041E510 ;大于就跳
0041E4E6mov eax, dword ptr
0041E4E9mov ecx, dword ptr
0041E4ECmov edx, dword ptr
0041E4F0cmp edx, dword ptr ;这里其实就是 if(arr<arr)
0041E4F4jge short 0041E50E ;如果大于那么就不执行SWAP函数
0041E4F6mov eax, dword ptr
0041E4F9lea ecx, dword ptr
0041E4FDpush ecx ;压入参数a
0041E4FEmov edx, dword ptr
0041E501lea eax, dword ptr
0041E505push eax ;压入参数b
0041E506call 0041D20C ;这里就是SWAP互换函数
0041E50Badd esp, 8
0041E50Ejmp short 0041E4CD ;返回进行for(j=0;j<10-i-1;j++) 循环
0041E510jmp short 0041E4B5 ;返回进行for(i=0;i<10;i++) 循环
0041E512mov dword ptr , 0 ;好了这里就是对最后一个循环的 i 初始化
0041E519jmp short 0041E524
0041E51Bmov eax, dword ptr
0041E51Eadd eax, 1
0041E521mov dword ptr , eax
0041E524cmp dword ptr , 0A ;比较 i<10
0041E528jge short 0041E559 ;大于就跳
0041E52Apush 0041C505 ;这个参数就是endl
0041E52Fmov eax, dword ptr
0041E532mov ecx, dword ptr
0041E536push ecx
0041E537push 004570C8 ;字符传“正确的从大到小的排序:”
0041E53Cpush 004607D0
0041E541call 0041CB6D ;这里还是显示字符串
0041E546add esp, 8
0041E549mov ecx, eax
0041E54Bcall 0041C631 ;显示数据arr
0041E550mov ecx, eax
0041E552call 0041CB9A ;将光标换行
0041E557jmp short 0041E51B ;返回继续循环
0041E559xor eax, eax
0041E55Bpush edx
0041E55Cmov ecx, ebp
0041E55Epush eax
0041E55Flea edx, dword ptr
0041E565call 0041C5AF
0041E56Apop eax
0041E56Bpop edx
0041E56Cpop edi
0041E56Dpop esi
0041E56Epop ebx
0041E56Fadd esp, 108
0041E575cmp ebp, esp
0041E577call 0041CD7A
0041E57Cmov esp, ebp
0041E57Epop ebp
0041E57Fretn
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Sample code for < Win32ASM Programming >
; by
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Sorts.asm
; 排序算法
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 使用 nmake 或下列命令进行编译和链接:
; ml /c /coff Sorts.asm
; rc Sorts.rc
; Link /subsystem:windows Sorts.obj Sort.res
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.386
.model flat, stdcall
option casemap :none
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Include 文件定义
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
include windows.inc
include user32.inc
includelib user32.lib
include kernel32.inc
includelib kernel32.lib
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 数据段
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.data
szStr byte 255 dup (0)
szBuffer byte 255 dup (0)
Data dd 16,35,78,19,-10,23,56,-90 ,80,-7,5, 99, 10 ,12,1,13,18,17
DLen dd ($ - Data) / 4
.const
fmt db "%s %d", 0
fmt2 db "%s排序后:", 0
szCaption db "排序算法", 0
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 代码段
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.code
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 冒泡排序
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
BubbleSort proc uses ecxesiebxpData, Num
mov eax, Num
dec eax
lea eax,
add eax, pData
mov ecx, eax
L_LOOP1: mov esi, pData
L_LOOP2: mov eax,
;比较两个数
cmp eax,
jgNOT_SWAP
;交换两个数
mov ebx,
mov , eax
mov , ebx
NOT_SWAP:add esi,4
cmp esi, ecx
jb L_LOOP2 ;地址比较为无符号比较
sub ecx,4
cmp ecx, pData
ja L_LOOP1 ;地址比较为无符号比较
ret
BubbleSort endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 插入排序
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
InSertSort proc uses ecxesiediebxpData, Num
mov ecx, 1
;esi 为将要插入数据的地址
L_LOOP: mov esi, pData
lea esi,
;edi为在已排好序部分中,最后一个数的地址
movedi, esi
subedi, 4
mov eax,
L_FIND_POS: cmp eax,
jgeL_NEXT
;在已排好序部分中,找到要插入数的位置
mov ebx,
mov , ebx
sub edi, 4
cmp edi, pData
jaeL_FIND_POS ;地址比较为无符号比较
L_NEXT: mov , eax ;插入到找到的位置。
inc ecx
cmpecx, Num
jl L_LOOP
ret
InSertSort endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Shell 排序
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
ShelltSort proc uses ecxesiediebx edxpData, Num
local @key:DWORD
mov edx, Num
L_START: sar edx, 1
jeSHELL_END
movecx, edx
;esi 为将要插入数据的地址
L_LOOP: mov esi, pData
lea esi,
;edi为在已排好序部分中,最后一个数的地址
movedi, esi
lea ebx,
sub edi, ebx
mov eax,
L_FIND_POS: cmp eax,
jgeL_NEXT
;在已排好序部分中,找到要插入数的位置
mov ebx,
mov , ebx
lea ebx,
sub edi, ebx
cmp edi, pData
jaeL_FIND_POS ;地址比较为无符号比较
L_NEXT: mov , eax ;插入到找到的位置。
leaecx,
cmpecx, Num
jl L_LOOP
jmpL_START
SHELL_END:
ret
ShelltSort endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 选择排序
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
SelectSort proc uses ecxesiediebxedxpData, Num
local @key:DWORD
mov eax, pData
mov ecx, Num
dec ecx
lea ebx,
movecx, 1
L_LOOP: mov esi, pData
lea esi,
mov edx, esi
mov edi, esi
L_LOOP2: lea edi,
mov eax,
cmp eax,
jle NEXT
mov esi, edi
NEXT: cmp edi, ebx
jl L_LOOP2
cmp esi, edx
je NOT_SWAP
;交换,
push
push
pop
pop
NOT_SWAP: inc ecx
cmp ecx, Num
jl L_LOOP
ret
SelectSort endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 调整堆
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
AdjustHeap proc uses ecxesiediebxedxpData, Base ,Num
local @key:DWORD
mov eax, pData
mov ecx, Base
lea eax,
mov eax,
mov @key, eax
L_LOOP: mov eax, Base
lea eax,
mov ecx, eax
mov edx, pData
mov ebx, Num
cmpecx, ebx
jg ADJUST_END
cmp ecx, ebx
jge NOT_CHANG
lea esi,
mov eax,
cmpeax,
jge NOT_CHANG
inc ecx
NOT_CHANG: lea esi,
mov eax,
cmp @key,eax
jg ADJUST_END
NEXT: push eax
mov eax, Base
lea edi,
pop
mov eax, ecx
mov Base, eax
lea ecx,
jmp L_LOOP
ADJUST_END: mov eax, Base
lea edi,
mov eax, @key
mov , eax
ret
AdjustHeap endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 堆排序
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
HeapSort proc uses ecxesiediebxedxpData, Num
mov ecx, Num
sar ecx, 1
S_ADJUST:cmp ecx, 0
jle NEXT
invoke AdjustHeap, pData, ecx, Num
dec ecx
jmpS_ADJUST
NEXT: xor ebx, ebx
S_CMP: cmpebx, Num
jge L_END
mov ecx, Num
sub ecx, ebx
dec ecx
mov edx, pData
leaesi,
push
movedi,edx
push
pop
pop
inc ebx
invoke AdjustHeap, pData, 1, ecx
jmp S_CMP
L_END:
ret
HeapSort endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 快速排序中调用划分区域函数
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Partition proc uses ecxesiediedx pData, iLow, iHigh
local @key:DWORD
mov ecx, iLow
mov edx, iHigh
mov eax, pData
moveax,
mov@key, eax
L_START: cmpecx, edx
jge PART_END
L_CMPHIGH: cmp ecx, edx
jge NEXT
mov eax, pData
lea esi,
mov eax,
cmp eax, @key
jl NEXT
dec edx
jmp L_CMPHIGH
NEXT: mov eax, pData
lea edi,
lea esi,
push
pop
S_CMPLOW: cmp ecx, edx
jge NEXTLOW
mov eax, pData
lea esi,
mov eax,
cmp eax, @key
jg NEXTLOW
inc ecx
jmp S_CMPLOW
NEXTLOW: mov eax, pData
lea edi,
lea esi,
push
pop
jmp L_START
PART_END: mov eax, pData
lea esi,
push @key
pop
mov eax, ecx
ret
Partition endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 快速排序
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
QuickSort proc uses eax ecxebxedxpData, iLow, iHigh
mov ebx, iLow
mov edx, iHigh
cmp ebx, edx
jge QUICK_END
invoke Partition, pData, ebx, edx
dec eax
invokeQuickSort, pData, ebx, eax
lea eax,
invokeQuickSort, pData, eax, edx
QUICK_END:
ret
QuickSort endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
start:
mov edi, 0
L_ORIG: mov eax,
invoke wsprintf, addr szBuffer, addr fmt, addr szBuffer, eax
inc edi
cmpedi, DLen
jb L_ORIG
invoke wsprintf, addr szBuffer, addr fmt2, addr szBuffer
mov eax, DLen
dec eax
invoke ShelltSort, addr Data, DLen
mov edi, 0
L_SORT: mov eax,
invoke wsprintf, addr szBuffer, addr fmt, addr szBuffer, eax
inc edi
cmpedi, DLen
jb L_SORT
invoke MessageBox,NULL,offset szBuffer,offset szCaption, MB_OK
invoke ExitProcess,NULL
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
end start
//java 的
import java.awt.*;
import javax.swing.*;
class Bb
{
public static void main(String []args)
{
String b[]=new String ;
int a[]=new int ;
for(int i=0;i<10;i++)//输入数据
{
b=JOptionPane.showInputDialog("","请输入一个数");
try
{
a=Integer.parseInt(b);//类型转换
System.out.println("您的输入为"+a);
}
catch(Exception e) //异常处理
{
System.out.println("输入的数据类型不对,请重新输入");
i--;
continue;//重新输入
}
}
for(int j=0;j<9;j++)//排序
{
for(int i=0;i<10;i++)
{
int temp;
if(a<a)
{
temp=a;
a=a;
a=temp;
}
}
}
System.out.println("下面是输出的结果");
for(int i=0;i<10;i++)
{
System.out.println(a);
}
}
}
[ 本帖最后由 freesoft 于 2007-8-13 08:21 编辑 ] 我最烦的就是用数组和指针了,但是不用这两个,就等于不会编程/:002 非常的支持系列产品呀,建议楼主整理成CHM格式,方便下载并查询
[ 本帖最后由 wofan 于 2007-8-13 20:51 编辑 ] 到一定程序在做成CHM,这点是刚开始,还不到做CHM的程序。初级的东西弄的差不多了,进入中级时就做一个。
页:
[1]