
C语言趣味编程
nuist_david
影像系统软件工程师
展开
-
百钱百鸡
/*名字:百钱百鸡内容:一只公鸡值五钱,一只母鸡值三钱,三只小鸡值一钱,现要用百钱买百鸡。 请问公鸡、母鸡、小鸡各多少只?作答者:小白杨收获:1、审题时就有错误,cock、hen、chicken均可以为零,只要最后有一百只鸡即可。 2、优化:第三层循环可以用chicken = 100-cock-hen代替. */ #include <stdio.h>...原创 2018-10-19 20:16:33 · 346 阅读 · 0 评论 -
数制转换2(利用栈)
/*题目:数制转换(通过栈这个数据结构来求解)内容:输入M进制的数x,输出N进制的数。作答者:小白杨收获:1、栈这种数据结构,只允许在栈顶进行出栈入栈操作。2、先构造出栈的基本结构,然后初始化一个栈再勾勒出入栈和出栈的函数再输入M进制的数x,转换为int型入栈再出栈的同时将M进制的数转换为十进制,然后将此十进制的数转换为N进制并入栈保存,然后出栈并转换为字符输出3、栈,其实就是...原创 2018-10-24 16:27:12 · 380 阅读 · 0 评论 -
分糖果
/*题目:分糖果内容:10个小孩围成一圈分糖果,老师分给第1个小孩10块,第2个小孩2块,第3个小孩8块,第4个小孩22块,第5个小孩16块,第6个小孩4块,第7个小孩10块,第8个小孩6块,第9个小孩14块,第10个小孩20块。然后所有的小孩同时将手中的糖分一半给右边的小孩;糖块为奇数的人可向老师要一块。问经过这样几次后大家手中的糖块数一样多?每人各有多少块糖?作答者:小白杨收获...原创 2018-10-26 21:35:18 · 366 阅读 · 0 评论 -
存钱问题(枚举法)
/*题目:存钱问题(枚举法)内容:假设银行整存整取存款不同期限的月息利率为:0.63% 期限为1年0.66% 期限为2年0.69% 期限为3年0.75% 期限为5年0.84% 期限为8年现在已知某人手上有2000元,要求通过计算选择出一种存钱方案,使得这笔钱存入银行20年后获得的利息最多,假定银行对超出存款的那部分时间不付利息。作答者:小白杨收获: 分析:假设...原创 2018-10-26 20:53:47 · 1288 阅读 · 1 评论 -
个人所得税问题
/*题目:个人所得税问题(结构体数组)内容: 编写一个计算个人所得税的程序,要求输入收入金额后,能够输出应缴的个人所得税。作答者:小白杨收获: 优化算法:运用结构体数组TaxTable[]存储税收金额和相应税率。 */ /*#include <stdio.h>int main(){ long x,tax,t; printf("请输入个人的收入:\n");...原创 2018-10-26 19:44:58 · 717 阅读 · 0 评论 -
数制转换
/*题目:数制转换内容:给定一个M进制的数x,实现对x向任意的一个非M进制的转换。作答者:小白杨收获: 1、刚开始以为这是一个失败的程序转换,不知为什么,数组没有传到被调用函数中,后来经反复折腾,才发现被调用函数中for语句括号后多加了一个‘;’,浪费了大量时间进行调试。 2、这个代码着实垃圾,也不能实现负数的转换和小数点的转换,可优化的地方还有很多。 3、解...原创 2018-10-21 21:21:25 · 1056 阅读 · 0 评论 -
最佳存款方案
/*题目:最佳存款方案内容:假设银行一年整存零取的月息为0.63%。现在某人手中有一笔钱,他打算在今后的5 年中每年年底取出1000元,到第5年时刚好取完,请问他存钱时应存入多少。作答者:小白杨收获: */ #include <stdio.h>int main(){ float money = 0.0; int i; for(i...原创 2018-10-19 20:21:21 · 3083 阅读 · 0 评论 -
抓交通肇事方
/*题目:抓交通肇事方内容:一辆卡车违反交通规则,撞人后逃跑。现场有三人目击该事件,但都没有记住车号,只记下车号 的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的,但与前两 位不同;丙是数学家,他说:四位的车号刚好是一个整数的平方。请根据以上线索求出车号。作答者:小白杨收获: */ #include <stdio.h>in...原创 2018-10-19 20:20:39 · 403 阅读 · 0 评论 -
兔子产子问题
/*题目:兔子产子问题内容:有一对兔子,从出生后的第3个月起每个月都生一对兔子。小兔子长到第三个月 后每个月又生一对兔子,假设所有的兔子都不死,问30个月内每个月的兔子总数 为多少?作答者:小白杨收获:1、该题目是典型的迭代循环,而自己没看出来。即是一个变量不断用新值取代 变量旧值,然后由变量旧值递推出变量新值的过程。算法可以描述为 {fib =...原创 2018-10-19 20:20:08 · 830 阅读 · 0 评论 -
牛顿迭代法求方程根
/*题目:牛顿迭代法求方程根内容:编写用牛顿迭代法求方程根的函数。方程为ax3+bx2+cx+d = 0,系数a,b,c,d由主函 数输入。求x在1附近的一个实根。求出根后,由主函数输出。 牛顿迭代法的公式是:x = x0 - f(x0)/fd(x0),设迭代到|x-x0|<=1e-5时结束。作答者:小白杨收获: */ #include <stdio....原创 2018-10-19 20:19:35 · 1946 阅读 · 0 评论 -
冒泡排序
/*题目: 冒泡排序内容:对N个整数(数据由键盘输入)进行升序排列。作答者:小白杨收获:1、不知N的值,可用宏定义#define. */#include <stdio.h>#define N 10void sort(int a[]);int main(){ int i,a[N]; printf("please input data:\n"); for(...原创 2018-10-19 20:19:00 · 179 阅读 · 0 评论 -
借书方案
/*题目:借书方案内容:5本新书,要借给A、B、C,若每人每次只能借一本,则可以有多少种不同的借法?作答者:小白杨收获:1、致命问题,c取值错误(c = 5-a-b),c的取值应该是从1~5. */#include <stdio.h>int main(){ int a,b,c; int i = 0; for(a=1;a<=5;a++) { f...原创 2018-10-19 20:18:23 · 383 阅读 · 0 评论 -
打鱼还是晒网
/*题目:打鱼还是晒网内容:中国有句俗语“三天打鱼两天晒网”。某人从1990年1月1日起开始“三天打鱼两天晒网”, 问这个人在以后的某一天中是打鱼还是晒网?分析:1、计算从1990年1月1日开始至指定日期共有多少天。(瑞年:能被4整除且不能被100整除或者能被400整除) 2、由于打鱼和晒网的周期为5天,所以将计算出的天数除以5。 3、根据余数判断他是在打鱼...原创 2018-10-19 20:17:39 · 1441 阅读 · 1 评论 -
枚举法应用实例
/*题目:三色球问题内容:一个口袋里放有12个球,已知其中3个是红的,3个是白的,6个是黑的,现在从中任取8个,问共有多少种可能的颜色搭配?作答者:小白杨收获: 设8个球中红球为x1个,白球为x2个,则黑球为8-x1-x2。又已知12个球中有3个红球,3个白球,6个黑球,因此x1的取值范围[0,3],x2的取值范围为[0,3],黑球的个数小于等于6,即8-x1-x2<=6. ...原创 2018-10-27 22:21:31 · 3177 阅读 · 0 评论