2015蓝桥杯第五题(九分组分数)

来源:互联网 发布:淘宝上哪家买德军军品 编辑:程序博客网 时间:2024/06/06 05:25

1,2,3…9 这九个数字组成一个分数,其值恰好为1/3,如何组法?

下面的程序实现了该功能,请填写划线部分缺失的代码。

#include <stdio.h>void test(int x[]){    int a = x[0]*1000 + x[1]*100 + x[2]*10 + x[3];    int b = x[4]*10000 + x[5]*1000 + x[6]*100 + x[7]*10 + x[8];    if(a*3==b) printf("%d / %d\n", a, b);}void f(int x[], int k){    int i,t;    if(k>=9){        test(x);        return;    }    for(i=k; i<9; i++){        {t=x[k]; x[k]=x[i]; x[i]=t;}        f(x,k+1);        _____________________________________________ // 填空处    }}int main(){    int x[] = {1,2,3,4,5,6,7,8,9};    f(x,0);     return 0;}

注意:只填写缺少的内容,不要书写任何题面已有代码或说明性文字。

本题目考察递归,在递归进入时修改一个状态,然后一层递归结束后,再将状态修改回来,本题目主要考察这个地方。答案{t=x[k]; x[k]=x[i]; x[i]=t;}

0 0