千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > c语言经典练习题100道(三)

c语言经典练习题100道(三)

来源:千锋教育
发布人:syq
时间: 2022-07-29 17:01:19 1659085279

  【程序11】

  题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

c语言经典练习题

  1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....

  2.程序源代码:

#include "stdio.h"

#include "conio.h"

main(){

 long f1,f2;

 int i;

 f1=f2=1;

 for(i=1;i<=20;i++)

 {

 printf("%12ld %12ld",f1,f2);

 if(i%2==0) printf("\n"); /*控制输出,每行四个*/

 f1=f1+f2; /*前两个月加起来赋值给第三个月*/

 f2=f1+f2; /*前两个月加起来赋值给第三个月*/

 }

 getch();}

  【程序12】

  题目:判断101-200之间有多少个素数,并输出所有素数。

  1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,

  则表明此数不是素数,反之是素数。

  2.程序源代码:

#include "stdio.h"

#include "conio.h"

#include "math.h"

main(){

 int m,i,k,h=0,leap=1;

 printf("\n");

 for(m=101;m<=200;m++)

 {

 k=sqrt(m+1);

 for(i=2;i<=k;i++)

 if(m%i==0)

 {

 leap=0;

 break;

 }

 if(leap)

 {

 printf("%-4d",m);

 h++;

 if(h%10==0)

 printf("\n");

 }

 leap=1;

 }

 printf("\nThe total is %d",h);

 getch();

}

  【程序13】

  题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。

  1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。

  2.程序源代码:

#include "stdio.h"

#include "conio.h"

main(){

 int i,j,k,n;

 printf("'water flower'number is:");

 for(n=100;n<1000;n++)

 {

 i=n/100;/*分解出百位*/

 j=n/10%10;/*分解出十位*/

 k=n%10;/*分解出个位*/

 if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)

 printf("%-5d",n);

 }

 getch();

}

  【程序14】

  题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

  程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:

  (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。

  (2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。

  (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

  2.程序源代码:

/* zheng int is divided yinshu*/

#include "stdio.h"

#include "conio.h"

main(){

 int n,i;

 printf("\nplease input a number:\n");

 scanf("%d",&n);

 printf("%d=",n);

 for(i=2;i<=n;i++)

 while(n!=i)

 {

 if(n%i==0)

 {

 printf("%d*",i);

 n=n/i;

 }

 else

 break;

 }

 printf("%d",n);

 getch();

}

  【程序15】

  题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。

  1.程序分析:(a>b)?a:b这是条件运算符的基本例子。

  2.程序源代码:

#include "stdio.h"

#include "conio.h"

main(){

 int score;

 char grade;

 printf("please input a score\n");

 scanf("%d",&score);

 grade=score>=90?'A':(score>=60?'B':'C');

 printf("%d belongs to %c",score,grade);

 getch();

}

  更多关于物联网培训的问题,欢迎咨询千锋教育在线名师,如果想要了解我们的师资、课程、项目实操的话可以点击咨询课程顾问,获取试听资格来试听我们的课程,在线零距离接触千锋教育大咖名师,让你轻松从入门到精通。

tags:
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT