• C 语言典范编程


    程序1】
    题目:古典题目:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月
       后每个月又生一对兔子,假定兔子都不死,问每个月的兔子总数为几 ?
    1,程序解析: 兔子的规律为数列1,1,2,3,5,8,13,21,…
    2,程序源代码:
    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;前两个月加起来赋值给第三个月
     }
    }

    【程序2】
    题目:判断101-200之间有几 个素数,同时输出全部素数.
    1,程序解析:判断素数的方式:用一个数分不去除2到sqrt(那个数),介入能被整除,
          那么 表明此数不是 素数,反之是 素数.      
    2,程序源代码:
    #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%i0)
          {leap=0;break;}
       if(leap) {printf(“%-4d”,m);h++;
            if(h%10
    0)
            printf(“\n”);
            }
       leap=1;
      }
     printf(“\nThe total is %d”,h);
    }

    【程序3】
    题目:打印出全部的“水仙花数”,所谓“水仙花数”是 指一个三位数,其列位数字立方和等于该数
       自已.例似:153是 一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方.
    1,程序解析:操纵for循环操纵100-999个数,每个数分化出个位,十位,百位.
    2,程序源代码:
    main()
    {
    int i,j,k,n;
    printf(“'water flower’number is:”);
     for(n=100;n<1000;n++)
     {
      i=n100;分化出百位
      j=n10%10;分化出十位
      k=n%10;分化出个位
      if(i100+j10+k==iii+jjj+kkk)
       {
       printf(“%-5d”,n);
       }
     }
    printf(“\n”);
    }

    【程序4】
    题目:将一个正整数分化质因数.例似:输入90,打印出90=233*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*
      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=ni;
         }
         else
          break;
        }
      }
      printf(“%d”,n);}
      ==============================================================
      【程序5】
      题目:操纵前提运算符的嵌套来实现此题:进修成绩>=90分的同学用A示意,60-89分之间的用B示意,
         60分以下的用C示意.
      1,程序解析:(a>b)? a:b这是 前提运算符的根本例子.
      2,程序源代码:
      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);
      }
      ==============================================================
      【程序6】
      题目:输入两个正整数m和n,求其最大公约数和最小公倍数.
      1,程序解析:操纵辗除法.
      2,程序源代码:
      main()
      {
       int a,b,num1,num2,temp;
       printf(“please input two numbers:\n”);
       scanf(“%d,%d”,&num1,&num2);
       if(num1  { temp=num1;
        num1=num2; 
        num2=temp;
       }
      a=num1;b=num2;
      while(b!=0)操纵辗除法,直到b为0为止
       {
        temp=a%b;
        a=b;
        b=temp;
       }
      printf(“gongyueshu:%d\n”,a);
      printf(“gongbeishu:%d\n”,num1*num2a);
      }
  • 相关阅读:
    Limit分页遇到百万级数据该何去何从
    Spring Boot入门项目之外卖
    canal server 标准化集群搭建(一)
    Java随记 —— Servlet 教程笔记
    VUE3搭载到服务器
    numpy函数总结
    【无标题】
    Java&C++题解与拓展——leetcode30.串联所有单词的子串【么的新知识】
    如何使用谷歌浏览器连接linux服务器SSH服务
    [csi]浅聊ceph-csi组件
  • 原文地址:https://blog.csdn.net/zxbyzx/article/details/128100379