一些C基础的小编程题目

 学习完了C语言的基础知识后,这里列举几个C的小题目。

  1.求100以内的素数。

  素数:除了1和本身没有其他因子。

  分析:这道题很入门,用两个循环就可以解决,第一个循环从2到100(假设用i来循环),这是要找出的数的循环,再一个内循环,从2到i的循环(假设用j来循环),这是筛选i的条件,即判断2到i中是否有数能被i整除,最后打印出没有因子的数。这样的算法不能把2也算上,所以2直接打印出来即可。

 

  2.快速找出一个数组中的最大数、第二大数。

  分析:这里方法很多,只要给数组排个序在打印相应的数就完成了,这里我使用的冒泡排序法,从大到小排再打印出前两个元素。


  3.找出两个数的最大公因数和最小公倍数。

  分析:这道题方法也很多,我这里使用的是比较笨的方法,但理解起来很容易。首先要从终端获取两个数,先比较这两个数,把大的数我们叫它large,小的数叫littel,先找最大公因数,就从littel开始循环,递减,找出最先同时被两个数整除的数打印出来,同理去找最大公倍数。


  4.输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数。

  分析:这道题目逻辑很简单,就是一位一位的检测,出现了1就把计数的变量加1就行了。如果是个位数直接取余10就行了。


  5.查找最小的k个元素:输入n个整数,输出其中最小的k个。例如输入1,2,3,4,5,6,7和8这8个数字,则最小的4个数字为1,2,3和4。

  分析:要解决这个问题我最先想到的是用冒泡排序从小到大排序,然后打印出要求的前k个数。由此,我需要知道一共要有多少个数,每个数是多少,要显示最小的几个数。这里我用指针数组来写一下,虽然比较麻烦,但是顺便复习一下也是好的。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值