语言趣味编程例源码分享我是大锤

C语言趣味编程100例 是学习路上必不可缺的示例,话不多说直接看代码

1,百钱百鸡问题

main(){int cock,hen,chicken;for(cock=0;cock<=20;cock++) /外层循环控制公鸡数量取值范围0~20/for(hen=0;hen<=33;hen++) /内层循环控制母鸡数量取值范围0~30/for(chicken=0;chicken<=100;chicken++)/内层循环控制小鸡数量取值范围0~100/{if((5cock+3hen+chicken/3.0100)&&(cock+hen+chicken100))/在内外层循环条件控制下小鸡数量的取值限制用难一组解的合理性/printf("cock=%2d,hen=%2d,chicken=%2d\n",cock,hen,chicken);}}2,借书方案知多少

main(){int a,b,c,i=0; /a,b,c分别用来记录三个人所选新书编号,i用来控制有效借阅次数/printf("A,B,C三人所选书号分别为:\n");for(a=1;a<=5;a++) /用来控制A借阅图书编号/for(b=1;b<=5;b++) /用来控制B借阅图书编号/for(c=1;c<=5;c++) /用来控制C借阅图书编号/if(a!=b&&a!=c&&c!=b) /此条件用来控制有效借阅组合/{printf("A:%2d B:%2d c:%2d ",a,b,c);i++;if(i%4==0)printf("\n");} /每行最多输出4种借阅方法组合/printf("共有%d种有效借阅方法\n",i); /输出有效的借阅方法总数/}3,打鱼还是晒网

void main(){int i,j,k,temp; /i代表前两位车牌号数字,j代表后两位车牌号的数字,k代表车牌号/for(i=0;i<=9;i++)for(j=0;j<=9;j++) /穷举前两位和后两位车牌数字/{/判断前两位数字和后两位数字是否不同/if(i!=j){/组成4位车牌号k/k=1000i+100i+10j+j;/判断k是否是某个数的平方,若是则输出k/for(temp=31;temp<=99;temp++)if(temptemp==k)printf("车牌号为%d",k);}}}5,兔子产子问题

void main(){long fib1=1,fib2=1,fib;int i;printf("%12ld%12ld",fib1,fib2); /输出第一个月和第二个月的兔子数/for(i=3;i<=30;i++){fib=fib1+fib2; /迭代求出当前月份的兔子数/printf("%12d",fib); /输出当前月份兔子数/if(i%4==0)printf("\n"); /每行输出4个/fib2=fib1; /为下一次迭代作准备,求出新的fib2/fib1=fib; /求出新的fib1/}}6,牛顿迭代法求方程根

main(){float solution(float a,float b,float c,float d); /函数功能是用牛顿迭代法求方程的根/float a,b,c,d,x; /a,b,c,d代表所求方程的系数,x用来记录求得的方程根/printf("请输入方程的系数:");scanf("%f %f %f %f",&a,&b,&c,&d);x=solution(a,b,c,d);printf("所求方程的根为x=%f",x);}float solution(float a,float b,float c,float d){float x0,x=1.5,f,fd,h; /f用来描述方程的值,fd用来描述方程求导之后的值/do{x0=x; /用所求得的x的值代替x0原来的值/f=ax0x0x0+bx0x0+cx0+d;fd=3ax0x0+2bx0+c;h=f/fd;x=x0-h; /求得更接近方程根的x的值*/}while(fabs(x-x0)>=1e-5);return x;}7,最佳存款方案

main(){int i;double money=0.0;for(i=0;i<5;i++)money=(money+1000.0)/(1+0.006312);printf("应存入的钱数为:%0.2f\n",money); /结果保留两位小数*/}8,冒泡排序

main(){int i,j,a[N],t,count=0;printf("请为数组元素赋初值:\n");for(i=0;i<N;i++)scanf("%d",&a[i]);for(i=1;i<=N-1;i++) /控制比较的轮数/for(j=0;j<N-i;j++) /控制每轮比较的次数/if(a[j]>a[j+1]) /数组相邻两个元素进行交换/{t=a[j];a[j]=a[j+1];a[j+1]=t;}printf("经过交换后的数组元素为:\n");for(i=0;i<N;i++){count++;printf("%d ",a[i]);if(count%5==0) /控制每行输出5个数/printf("\n");}printf("\n");}9,折半查找

main(){int i,a[N]={-3,4,7,9,13,45,67,89,100,180 },low=0,high=N-1,mid,k=-1,m;printf("a数组中的数据如下:\n");for(i=0;i<N;i++)printf("%d ", a[i]); /输出数组中原数据序列/printf("\n");printf("Enter m: ");scanf("%d",&m); /由键盘输入要查找的整数值/while(low<=high) /继续查找的控制条件/{mid=(low+high)/2; /确定指针mid的位置/if(m<a[mid])high=mid-1;elseif(m>a[mid])low=mid+1;else{k=mid;break; /一旦找到所要查找的元素便跳出环/}}if(k>=0)printf("m=%d,index=%d\n",m,k);elseprintf("Not be found!\n");}10,数制转换

int char_to_num(char ch); /返回字符对应的数字/char num_to_char(int num); /返回数字对应的字符/long source_to_decimal(char temp[],int source); /返回由原数转换成的10进制数/int decimal_to_object(char temp[],long decimal_num,int object); /返回转换成目标数制后字符数组的长度/void output(char temp[],int length); /将字符数组逆序打印/main(){int source; /存储原数制/int object; /存储目标数制/int length; /存储转换成目标数制后字符数组的长度/long decimal_num; /存储转换成的10进制数/char temp[MAXCHAR]; /存储待转换的数值和转换后的数值/int flag=1; /存储是否退出程序的标志/while(flag) /利用输入的flag值控制循环是否结束/{printf("转换前的数是:");scanf("%s",temp);printf("转换前的数制是:");scanf("%d",&source);printf("转换后的数制是:");scanf("%d",&object);printf("转换后的数是:");decimal_num=source_to_decimal(temp,source);length=decimal_to_object(temp,decimal_num,object);output(temp,length);printf("继续请输入1,否则输入0:\n");scanf("%d",&flag);}}/将字符转换成数字/int char_to_num(char ch){if(ch>='0'&&ch<='9')return ch-'0'; /将数字字符转换成数字/elsereturn ch-'A'+10; /将字母字符转换成数字/}char num_to_char(int num){if(num>=0&&num<=9)return (char)('0'+num-0); /将0~9之间的数字转换成字符/elsereturn (char)('A'+num-10); /将大于10的数字转换成字符/}long source_to_decimal(char temp[],int source){long decimal_num=0; /存储展开之后的和/int length;int i;for(i=0;temp[i]!='\0';i++);length=i;for(i=0;i<=length-1;i++) /累加/decimal_num=(decimal_numsource)+char_to_num(temp[i]);return decimal_num;}int decimal_to_object(char temp[],long decimal_num,int object){int i=0;while(decimal_num){temp[i]=num_to_char(decimal_num%object); /求出余数并转换为字符/decimal_num=decimal_num/object; /用十进制数除以基数/i++;}temp[i]='\0';return i;}void output(char temp[],int length){int i;for(i=length-1;i>=0;i--) /输出temp数组中的值*/

THE END
0.从入门到实战Python100个代码大全初学编程100个代码大全100个完整的Python代码,篇幅会非常长,以下为你精选了一些常见类型的Python代码示例,涵盖基础语法、数据处理、文件操作、函数定义等多个方面。 包含编程资料、学习路线图、源代码、软件安装包等!【[点击这里]】! 一、基础语法篇(篇幅原因,此次仅展示部分) jvzquC41dnuh0lxfp0tfv87523e8:;6985:0c{ykenk0fnyckny03==333997
1.C语言经典100例c语言必背100代码文章浏览阅读3.3k次,点赞6次,收藏9次。这 100 个 C 语言经典示例涵盖了。的各种场景,希望对你有所帮助!_c语言必背100代码jvzquC41dnuh0lxfp0tfv8|cpipjpsnp3:60c{ykenk0fnyckny03=;6;4885
2.C语言经典100例(1~10)适合初学者(注释详细)C语言经典100例(1~10)适合初学者(注释详细) 实例1—无重复数字组数 1.题目:有 1、2、3、4 四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?并求出个数。 程序分析:可填在百位、十位、个位的数字都是 1、2、3、4,组成所有的排列后再去掉不满足条件的排列。 #include <stdio.h> intmain(){ inti, j, jvzquC41dnuh0lxfp0tfv87724e:3=822670c{ykenk0fnyckny03=<3;4>25
3.近100个C语言基础算法案例(初级篇)c语言算法100例源代码: /* C Program to print a sentence. */ #include <stdio.h> int main() { printf("C Programming"); /* printf() prints the content inside quotation */ return 0; } 输出: C Programming 2、C语言打印用户输入的一个整数 源代码: jvzquC41dnuh0lxfp0tfv8fwvq}bppqgk1gsvrhng1jfvjnnu1:25=9833
4.经典C源程序100例(收藏)c语言必背100代码经典C源程序100例 (收藏) 【程序1】 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。 2.程序源代码:jvzquC41dnuh0lxfp0tfv8Rqdkjpi|4ctvodnn4fgvgjn|4374649<
5.经典的初学编程代码,有注释。初学编程100个代码大全经典的初学编程代码,有注释。 本文介绍了C语言的基础知识,并通过实例展示了如何使用C语言进行简单的编程操作。 #include<stdio.h> /* main() { enum Liquid{// enum枚举类型 ounce=1,cup=8,pint=16,quart=32,gallon=12}; enum Liquid jar; jar=quart;jvzquC41dnuh0lxfp0tfv8Mgnnu`ondYqtre1jwvkerf1mjvckrt1=:89:81;
6.编程必背100个代码认识达内从这里开始 编程必背100个代码 这里有一些简单的代码供初学者练习:输出数字 3。定义变量 4。添加操作减法运算 6。乘法运算 7。除法运算 8。检查变量是否存在 9.检查变量是否为数字 10。检查变量是否为字符串 11。循环输出编号 12。循环输出字jvzquC41uj4ugmz0ep5but46:97747mvon
7.编程必备!100个高频代码术语全解析编程必背100个代码在程序员的世界里,代码如同我们的第二语言。掌握核心编程术语,不仅能让你流畅阅读技术文档,更能快速理解不同编程语言的底层逻辑。本文精心整理了 100 个贯穿全栈开发的高频术语,结合使用场景解析,助你构建扎实的编程词汇体系。 一、基础语法核心词(1-10) jvzquC41dnuh0lxfp0tfv8r2a8944B9261gsvrhng1jfvjnnu1759>9;;7?
8.C语言必背100代码系列第十篇:安全与加密技术C语言必背100代码系列文章目录 第一篇:基础语法与入门必背代码 核心内容:Hello World、条件判断、循环结构、数组基础、函数定义等。 第二篇:数组与字符串操作 核心内容:数组排序、字符串处理、多维数组、字符匹配、内存拷贝等。 第三篇:指针与内存管理 jvzquC41dnuh0lxfp0tfv8Xvctz`o||kp1gsvrhng1jfvjnnu175;983:6<