读书人

求大神把这段pascal翻译成c++很简单

发布时间: 2012-09-14 11:53:44 作者: rapoo

求大神把这段pascal翻译成c++,很简单
const max=20;
var a:array[0..max]of integer;
n,r:1..max;
procedure compages(k:integer);
var i,j:integer;
begin
for i:=a[k-1]+1 to n-(r-k) do begin
a[k]:=i;
if k=r then begin
for j:=1 to r do write(a[j]:3);
writeln;
end
else compages(k+1);
end;
end;
begin {main}
readln(n,r);
compages(1);
end.

[解决办法]

C/C++ code
#include <stdio.h>#include <stdlib.h>#define MAX    20int a[MAX];int n;int r;void compages(int k){    int i;    int j;    for(i = a[k - 1]; i <= n - (r - k); i++)    {        a[k] = i;        if(k == r)        {            for(j = 1; j <= r; j++)            {                printf("%03d\n", a[j]);            }        }        else        {            compages(k + 1);        }    }}int main(int argc, char* argv[]){    scanf("%d, %d", &n, &r);    compages(1);    return 0;}
[解决办法]
2楼的程序稍做修改

增加包含库
#include "conio.h"

修改main函数

void main()
{
scanf("%d, %d", &n, &r);
compages(1);

getch();
}

读书人网 >C++

热点推荐