C语言100题第二题 编写函数fun()的功能并调用:从3个红球,5个白球,6个黑球中任意取8个 作为一组,进行输出。在每组中,可以没有黑球,但是必须有红球和白球。组合数作为函数返回值。
结构:分析-代码-总结
- 原题
- 分析
- 代码
- 总结
原题
编写函数fun()的功能并调用:从3个红球,5个白球,6个黑球中任意取8个
作为一组,进行输出。在每组中,可以没有黑球,但是必须有红球和白球。组合数作为函数返回值。
分析
分析:设红球,白球,黑球的数量为i,j,k。根据要求,红球和白球的个数均至少为一个,黑球不做要求。以红球和白球的数量i,j得出黑球
的数量k,只要k不超过黑球总数即为一种组合数 。
代码
#include<stdio.h>
#define T 8
int fun(int nr,int nw,int nb)
{int i,j,k,count=0;for(i=1;i<=nr;i+=1) /*若要求红球或白球有特定数量,改变i或j的初始值即可*/{for(j=1;j<=nw;j+=1){k=T-i-j;if(k<=nb) count+=1;printf("the number %d situation:red ball:%d,white ball:%d,black ball:%d.\n",count,i,j,k);}}return(count);
}
int main()
{int nr,nw,nb,total;printf("input the number of red ball:");scanf("%d",&nr);printf("input the number of white ball:");scanf("%d",&nw);printf("input the number of black ball:");scanf("%d",&nb);total=fun(nr,nw,nb);printf("\nthe total of the arrangement is %d",total);
}
总结
循环的嵌套相当与排列与组合中的乘法原理,适合用于求排列组合问题
C语言100题第二题 编写函数fun()的功能并调用:从3个红球,5个白球,6个黑球中任意取8个 作为一组,进行输出。在每组中,可以没有黑球,但是必须有红球和白球。组合数作为函数返回值。相关推荐
- C语言练习题,三色球抽取,从3个红球,5个白球,6个黑球中任意取出8个作为一组进行输出。在每组中可以没有黑球,但必须要有红球和白球。编程实现以上功能。用函数返回其组合数,在函数中打印每组的组合
三色球分组 从3个红球,5个白球,6个黑球中任意取出8个作为一组进行输出.在每组中可以没有黑球,但必须要有红球和白球.编程实现以上功能.用函数返回其组合数,在函数中打印每组的组合 函数原型为: int ...
- 口袋中有红黄蓝白黑5种颜色的球若干个。每次从口袋中任意取
* * 输入描述:出三个球,问得到3中不通过颜色的球口袋中有红黄蓝白黑5种颜色的球若干个.每次从口袋中任意取的可能取法.(枚举) * 问题描述: * 程序输出: * 问题分析:略 * 算法设计:略 * ...
- Python 轻松解决从 K 个字符串数组中任意取一个字符串,按顺序拼接,列出所有可能的字符串组合。(对比用库和不用库的方法)
文章目录 一.问题说明 二.解决方法 一.问题说明 问题来源:粉丝的提问 从 K 个字符串数组中任意取一个字符串,按顺序拼接,列出所有可能的字符串组合(对比用库和不用库的方法) 二.解决方法 iter ...
- 全国计算机二级编程题100道,计算机二级C语言100道编程题
国家计算机二级100道编程题 #include #include int fun(int score[], int m, int below[]) { int i,k=0; float av=0.0; ...
- 奇虎360_2017校园招聘笔试编程题第二题
今晚做了360的校招笔试题,编程题难度适中,在这里跟大家分享一下编程题的第二题.第二道题也不难想到思路,但是如果写法不当,可能无法满足题目的时间限制. 1. 题目 2. 输入输出及样例 3. 我的思路 ...
- C程序100例 第二题
#define _CRT_SECURE_NO_WARNINGS #include <stdlib.h> #include <stdio.h>/* 题目:企业发放的奖金根据利润提 ...
- PTA《数据结构与算法题目集(中文)》函数题第二题
题目地址 题目描述:实现顺序表的操作集 1.创建并返回一个空的顺序表 List MakeEmpty(); 显然这线性表与普通链表的唯一区别是有一个Last变量告诉我们数组的最后一个元素的所在下标.因此 ...
- 软考(软件设计师)下午题 第二题
1.第一道题一般为:画出数据库E-R图(不完整)中的实体之间的联系的类型. 解题思路:第一步:分清那些是实体,联系,联系的类型 在E-R图中,实体一般用矩形表示,联系是用菱形表示,联系 ...
- 中国移动系统集成公司2020春招技术综合在线编程题第二题
题目 数字变形密码学 时间限制:C/C++语言 1000MS:其他语言 3000MS 内存限制:C/C++语言 65536KB:其他语言 589824KB 题目描述: 甲方需要将两个三位数的密码发送给 ...
最新文章
- struts2 action之间参数的传递
- 玩大了! 阿里工程师的年会竟然这样搞?
- 富贵包这种常见颈椎病怎么改善?
- 机器学习之Fisher线性分类器实现样本分类
- (一)phoneGap之环境搭建教程及其example分析
- php采集绕过cloudflare,关于pyspider绕过CloudFlare验证的问题
- 在Windows中测试c语言单个函数运行时间方法
- 数据可视化常见的错误有哪些
- Flink Forward Asia 2020 -- Keynote 总结
- 解决gdb报错:Failed to import the site module,No module named '_sysconfigdata_m'
- 济安横断面为什么会有水印_PS差值模式是如何去水印的?你看的懂抖音的沙雕做法?...
- Android 省市区街道 四级联动
- centos7安装/卸载pip
- 爬取雪球网的股票信息评论
- C++(2-4)——sqrt的使用
- 6.20thingworx之bug记录
- 如何设置浏览器信任局域网的网站证书
- 享受科研,心怀远方:青年学者刘元玮的成长之路
- Automated Phrase
- oracle报错:ORA-28001: the password has expired