征战蓝桥 —— 2015年第六届 —— C/C++A组第5题——九数组分数
生活随笔
收集整理的這篇文章主要介紹了
征战蓝桥 —— 2015年第六届 —— C/C++A组第5题——九数组分数
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
九數(shù)組分?jǐn)?shù)
1,2,3…9 這九個(gè)數(shù)字組成一個(gè)分?jǐn)?shù),其值恰好為1/3,如何組法?
下面的程序?qū)崿F(xiàn)了該功能,請(qǐng)?zhí)顚憚澗€部分缺失的代碼。
#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; }注意:只填寫缺少的內(nèi)容,不要書寫任何題面已有代碼或說明性文字。
代碼
#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){//形成一個(gè)排列test(x);//檢查return;}for(i=k; i<9; i++){{t=x[k]; x[k]=x[i]; x[i]=t;}//交換,確定這一位f(x,k+1);{t=x[k]; x[k]=x[i]; x[i]=t;}//回溯,恢復(fù)到下探之前的狀態(tài) // _____________________________________________ // 填空處} }int main() {int x[] = {1,2,3,4,5,6,7,8,9};f(x,0);return 0; }總結(jié)
以上是生活随笔為你收集整理的征战蓝桥 —— 2015年第六届 —— C/C++A组第5题——九数组分数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 征战蓝桥 —— 2015年第六届 ——
- 下一篇: 2015年第六届蓝桥杯 - 省赛 - C