• C语言疑难题:杨辉三角形、辗转相除求最大公约数、求π的近似值、兔子问题、打印菱形


    杨辉三角形:打印杨辉三角形的前10行

    /*
        杨辉三角形:打印杨辉三角形的前10行 
    */
    #include
    int main(){
        int i,j;
        int a[10][10];
        printf("\n");
        for(i=0;i<10;i++){
            a[i][0]=1;
            a[i][i]=1;
        }
        for(i=2;i<10;i++){
            for(j=1;j
                a[i][j]=a[i-1][j]+a[i-1][j];
            }
        }
        for(i=0;i<10;i++){
            for(j=0;j<=i;j++){
                printf("%5d",a[i][j]);
            }
            printf("\n");
        }
        return 0;
    }

    辗转相除求两个数的最大公约数

    /*
        编写程序,用辗转相除法求两个正整数的最大公约数 
    */
    #include
    int main()
    {
        int p = 0;
        int r, m, n, temp;
        printf("请输入两个正整数:");
        scanf("%d %d", &m, &n);
        if (m < n)//将最大值赋予m
        {
            temp = m;
            m = n;
            n = temp;
        }
        p = m * n;
        while (n != 0)//辗转相除法求余
        {
            r = m % n;
            m = n;
            n = r;
        }
        printf("最大公约数为%d\n", m);
        printf("最小公倍数为:%d\n", p/m);
        return 0;
    }

    使用公式计算π的近似值

    /*
        使用公式计算π的值 
    */
    #include
    #include
    int main(){
        double sum=0;
        double num=0;
        int i;
        do{
            num = 1.0/(i*i);
            sum = sum + num;
            i++;
        }while(num>=10);
        double PI = sqrt(sum*6);
        printf("The result is %.2lf.\n",PI);
        return 0;

     

    兔子数量问题

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

    /*
        兔子数量问题 
    */
    #include
    int main(){
        int i=0;
        long num[20]={1,1};
        for(i=2;i<20;i++){
            num[i]=num[i-1]+num[i-2];
            printf("第%d个月的兔子数量为%d对\r\n",i+1,num[i]);
        }
        return 0;

     打印菱形

    #include
    #include
    int main()
    {
        int i,j,k,n;
        scanf("%d",&n);
        n=(n-1)/2;//就是这一行
        for(i=-n;i<=n;i++)
        {
            for(j=0;j             printf(" ");
            for(k=0;k<=2*n-2*abs(i);k++)//乘2就是相当于左右两边都要,下面将遇到只要一边的
                printf("*");
            printf("\n");
        }
        return 0;
    }

  • 相关阅读:
    c 语言基础:L1-049 天梯赛座位分配
    阿里云国际站:阿里云linux扩充磁盘大小常见问题
    多线程经典案例
    MySQL索引机制(详细+原理+解析)
    cpu性能分析工具
    C语言航路外传之输入输出函数及输入缓冲区的那点事
    【测试沉思录】11. 如何进行基准测试?
    C语言中关于#include的一些小知识
    spring监听请求执行结束,移除当前ThreadLocal数据两种方法
    初识C++ · 类和对象(中)(2)
  • 原文地址:https://blog.csdn.net/weixin_51621120/article/details/136789815