![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言习题
春风依杨柳
这个作者很懒,什么都没留下…
展开
-
C语言实现天生棋局案例
天生棋局1.案例描述要求创建一个棋盘,在棋盘生成的同时初始化棋盘,根据初始化后棋盘中棋子的位置来判断此时的棋局是否是一局好棋。具体要求如下:(1)棋盘的大小根据用户的指令确定;(2)棋盘中棋子的数量也由用户设定;(3)棋子的位置由随机数函数随机确定,若生成的棋盘中有两颗棋子落在同一行或同一列,则判定为“好棋”,否则判定为“不是好棋”。2.案例设计(根据案例分析中的棋局生成步骤设计程序,可将程序代码模块化为4个功能函数和1个主函数。(1)创建棋盘案例分析中提出,棋盘信息存放在动态生成的空间中原创 2021-11-24 22:54:14 · 909 阅读 · 0 评论 -
C语言实现双色球案例
双色球1.案例描述双色球是中国福利彩票目前的一种玩法,并非赌博,其彩票投注区分为红色球号码区和蓝色球号码区,每注投注号码由6个红色球和1个蓝色球号码组成。红色球号码从1-33中选择,蓝色球号码从1-16中选择。每期开出的红色球号码不能重复,但是蓝色球号码可以是红色球号码中的一个。案例要求表写程序模拟双色球的开奖过程,由程序随机产生6个红色球号码和1个蓝色球号码,并把结果输出到屏幕上。2.案例设计1.创建一个长度为7的数组,用于存放红球和蓝球2.随机生成红球放入数组,并判断数组中是否已经存在该数3原创 2021-06-30 21:31:44 · 3552 阅读 · 1 评论 -
C语言实现快速排序案例
快速排序1.案例描述快速排序是对冒泡排序的改进。它的基本思想是:通过一趟排序将要排序的数据分割分成独立的两部分,其中一部分的所有数据比另外一部分的都小;然后再按此方法,对这两部分数据分别进行快速排序,整个排序过程可以递归进行,直到整个数据变成有序序列为止。相比于冒泡排序,快速排序在时间、性能上有大大的提升。本案例要求使用指针实现快速排序算法,并将排序结果逐个输出。2.案例设计1.定义两个指针,一个指针指向数组的起始位置,一个指针指向数组的末尾2.定义一个key,通常去数组第一个数为key3.左边原创 2021-06-30 21:29:57 · 254 阅读 · 0 评论 -
C语言实现幻方案例
幻方1.案例描述将从1至n2的自然数排列成纵横各有n个数的矩阵,使每行、每列、每条主对角线上的n个数之和都相等。这样的矩阵就是魔方阵,也称作幻方。本案例要求编程写程序,实现奇数阶的幻方。2.案例设计其实是神奇魔方的进阶版1创建一个二维数组,并获取需要生成的阶数,将幻方放在二维数组中,幻方的阶数小于数组的阶数2先把第一个数放在第一行幻方中间的位置,2.用二级指针或者坐标往左上(或者右下移动),如果幻方的行坐标越界,则把指针或者坐标移动到同一列的最下面(或者最上面),如果幻方的列坐标越界,则把指针或原创 2021-06-30 21:27:45 · 3501 阅读 · 1 评论 -
C语言实现猜宝游戏
猜宝游戏1.案例描述课间,甲和乙玩猜硬币的游戏:初始时,甲的左手握着一枚硬币,游戏开始后,甲进行有限次或真或假的交换,最后由乙来猜测这两只手中是否有硬币。要求编程,实现游戏过程。2.案例设计1.定义一个整形的数表示硬币,当硬币为1的时候表示在左手,为零的时候表示在右手2.定义两个函数,一个是真交换,即硬币为1改为0,是0则改为一,一个假的交换,什么都不做。3.生成两个随机数0和1,当随机数为1的时候真交换,为零的时候假交换4.经过指定的交换次数后输出结果3.代码实现#include<原创 2021-06-30 21:25:57 · 743 阅读 · 0 评论 -
C语言实现兔子去哪儿案例
兔子去哪儿1.案例描述一致兔子躲进了10个环形分布的洞中的一个。狼在第一个洞中没有找到兔子,就隔一个洞,到第三个洞去找,也没找到,就隔两个洞,到第六个洞去找;以后每次多一个洞去找兔子…这样小去,如果一直找不到兔子,请问兔子可能在哪个洞中。2.案例设计1.创建一个长度为10的数组作为洞2.用狼作为下标,以间隔1,2,3,4…个洞的规律依次探索每个洞,找过的洞赋值为1,(整形数组默认值为0),当狼作为下标,大于数组长度时,可以用狼求余洞的长度3.经过500次寻找后,数组中值任为0的洞,说明没被找过原创 2021-06-30 21:24:17 · 810 阅读 · 0 评论 -
C语言实现校园十佳歌手案例
校园十大歌手1.案例描述转眼又迎来一年一度的校园十大歌手比赛,选手们个个积极应战,奋力抢夺冠军的宝座,如今最终得分已经分晓,为了知晓冠军、亚军和季军的得主,案例要求通过编程将拼到最后的这十位歌手的得分从低到高进行排序2.案例设计实质:根据分数给选手分数给选手姓名排序1.创建一个结构体,用于存放选手的姓名和分数2.给选手初始化3.定义一个该类型结构体数组,存放选手4.创建一个函数,给传输的结构体数组排序,5.输出排序结果3.代码实现#include<stdio.h> str原创 2021-06-30 21:22:43 · 3332 阅读 · 1 评论 -
C语言实现 神奇魔方
神奇魔方1.案例描述所谓魔方阵,古代又称为“纵横图”,就是指由自如桉树组成的方阵。什么是方阵呢?矩阵由n行n列构成,共有n*n个小方格,则这个方阵是一个n阶方阵。方阵中的每个元素都不相等,但每行和每列以及主副对角线上的各元素之和都相等。魔方阵是5行5列的,把魔方阵存储在一个二维数组中。2案例设计1.创建一个5*5大小的二维数组,先把第一个数放在第一行数组中间的位置,2.用二级指针或者坐标往左上(或者右下移动),如果数组的行坐标越界,则把指针或者坐标移动到同一列的最下面(或者最上面),如果数组的列原创 2021-06-30 21:18:17 · 1508 阅读 · 0 评论 -
C语言实现 掷骰子游戏
掷骰子游戏1.案例描述规则:一盘游戏中,两人轮流掷骰子5次,并将每次掷的点数累加,5局之后,累计点数较大者获胜,点数相同则为平局。案例要求通过编程算出50盘之后的胜利者(50盘中赢的盘数最多的,即最终胜利者。)2.案例设计1.创建一个存放角色信息的结构体,用于储存每局获得的分数和获胜的次数2.每个角色轮流生成5个随机数,统计随机数的和,和最大的赢得此局胜利3.统计50次比赛后的结果,获胜次数最多者是最总胜利者4.输出结果3.代码实现#include<stdio.h>#incl原创 2021-06-30 21:14:52 · 5457 阅读 · 2 评论 -
C语言实现 百钱百鸡
百钱百鸡1.案例描述中国古代数学家张丘建在它的《算经》中提出了一个著名的“百钱百鸡问题”:一只公鸡值五钱,一只母鸡值三钱,三只小鸡值一钱,现在要用百钱买百鸡,请问公鸡、母鸡、小鸡各多少只。2.案例设计使用穷举法列举小鸡和母鸡可能出现的结果,而公鸡等于总数减去小鸡和母鸡的数量,如果满足公鸡数+小鸡数+母鸡数等于100,且总价钱等于100,且每种鸡的数量不为负数,则得到正确结果3.代码实现#include<stdio.h>int main(){ //百钱鸡百 int cock,he原创 2021-06-30 21:12:32 · 3703 阅读 · 0 评论 -
C语言实现冰雹猜想
冰雹猜想1,案例描述“冰雹猜想”,又叫“角谷猜想”,是由日本数学家角谷静夫发现的一种数学现象,同时角谷静夫提出一切自然数都具有这种性质的设想,故称“角谷猜想”。它的具体内容是:以一个正整数n为例,如果n为偶数,就将它变为n/2,如果除后变为奇数,则将它乘3加1。不断重复这样的运算,经过有限步后,是否一定可以得到1?据日本 和美国的数学家公关研究,所有小于7*1011的自然数,都符合这个规律。2,案例设计输入一个小于7*1011的 正整数n,如果n为偶数,就将它变为n/2,如果除后变为奇数,则将它乘3原创 2021-06-30 21:08:29 · 7829 阅读 · 1 评论 -
根据学生id或者成绩给学生排序
根据学生的id给学生排序#include<stdio.h> struct students{//定义结构体students int id;//根据id //int score; 根据成绩 char name[10];};void input(struct students *xx,int n){//赋值方法 for(int i =0;i<n;i++) scanf("%s%d",&xx[i].name,&xx[i].id);}void so原创 2021-06-08 15:31:53 · 288 阅读 · 0 评论 -
C语言实现万年历
C语言实现万年历实现的基本思路:我们以2015年2月份为例,首先我们需要求出基底(以1900年1月1日为基底,当时是周一)到2015年2月1日有多少天,除以7求余数后得到2月1号为星期几(天数直接减的话需要加一后再求余数),然后判断2015是否为闰年,在判断2015年2月(闰年2月有29天)有多少天,根据所得数据便可以输出2015年2月的日历。(提示天数加空格满七换行)#include<stdio.h> int main(){ int year,month,week; printf(原创 2021-06-04 16:57:32 · 1145 阅读 · 0 评论 -
C语言实现判断字符是否为回文数
C语言实现判断字符是否为回文数算法分析:回文其实就是字符串中的字符对称相等,所以就要判断对称的字符是否都相等,需要用循环来控制。可设一字符数组arr,长度为32,用来存放此字符串,再设指针变量i指向字符串首字母,指针j指向最后一个元素,判断*i和ij是否相等,如出现不等就退出循环,下次循环时i增1,j减1,继续判断i所指向的字符和和i所指向的内容的关系,若没出现过不等的情况就是回文。长度为偶数 ab22ba,当i指向第三个2,j指向第四个2时停止长度为奇数 level, 当i指向第二个e,j指向第四个原创 2021-06-04 17:19:29 · 3736 阅读 · 0 评论