• C语言——经典200道实例(11-15)


    11.古典问题(兔子生崽)

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

    程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....,即下个月是上两个月之和(从第三个月开始)。 

    1. #include
    2. int main()
    3. {
    4. int f1=1,f2=1,i;
    5. for(i=1;i<=20;i++)
    6. {
    7. printf("%12d%12d",f1,f2);
    8. if(i%2==0) printf("\n");
    9. f1=f1+f2;
    10. f2=f1+f2;
    11. }
    12. return 0;
    13. }

     12.判断101到200之间的素数

    程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。 

    1. #include
    2. int main()
    3. {
    4. int i,j;
    5. int count=0;
    6. for (i=101; i<=200; i++)
    7. {
    8. for (j=2; j
    9. {
    10. // 如果j能被i整出在跳出循环
    11. if (i%j==0)
    12. break;
    13. }
    14. // 判断循环是否提前跳出,如果j
    15. if (j>=i)
    16. {
    17. count++;
    18. printf("%d ",i);
    19. // 换行,用count计数,每五个数换行
    20. if (count % 5 == 0)
    21. printf("\n");
    22. }
    23. }
    24. return 0;
    25. }

     13.打印出所有的"水仙花数"

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

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

    1. #include
    2. int main()
    3. {
    4. int i,x,y,z;
    5. for(i=100;i<1000;i++)
    6. {
    7. x=i%10;
    8. y=i/10%10;
    9. z=i/100%10;
    10. if(i==(x*x*x+y*y*y+z*z*z))
    11. printf("%d\n",i);
    12. }
    13. return 0;
    14. }

    14.将一个正整数分解质因数 

     

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

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

    (1)如果这个质数恰等于(小于的时候,继续执行循环)n,则说明分解质因数的过程已经结束,另外 打印出即可。
    (2)但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n.重复执行第二步。
    (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

    1. #include
    2. int main()
    3. {
    4. int n,i;
    5. printf("请输入整数:");
    6. scanf("%d",&n);
    7. printf("%d=",n);
    8. for(i=2;i<=n;i++)
    9. {
    10. while(n%i==0)
    11. {
    12. printf("%d",i);
    13. n/=i;
    14. if(n!=1) printf("*");
    15. }
    16. }
    17. printf("\n");
    18. return 0;
    19. }

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

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

    1. #include
    2. int main()
    3. {
    4. int score;
    5. char grade;
    6. printf("请输入分数: ");
    7. scanf("%d",&score);
    8. grade=(score>=90)?'A':((score>=60)?'B':'C');
    9. printf("%c\n",grade);
    10. return 0;
    11. }

     

  • 相关阅读:
    modbusRTU【codesys】
    web概述11
    信息学奥赛一本通:2036:【例5.3】开关门
    Spring进阶(四):Boot
    Redis 内存优化神技,小内存保存大数据
    Redis的五种常用(基本)数据类型
    用户模块的实现和首页的开发(二)
    netty系列之:netty中常用的对象编码解码器
    【毕业设计】 基于Stm32的家庭智能监控系统 - 单片机 图像识别 人体检测 AI
    【SQL刷题】DAY15----SQL联结表专项练习
  • 原文地址:https://blog.csdn.net/qq_48516121/article/details/127343672