• C语言 百炼成钢4


    //题目10:打印楼梯,同时在楼梯上方打印两个笑脸。 
    
    #define _CRT_SECURE_NO_WARNINGS
    #include<stdio.h>
    #include<stdlib.h>
    #include<math.h>
    
    
    //分析:楼梯,打印阶梯形状,涉及到行列,for循环
    
    void main6(){
        //假设个台阶,每个台阶宽3个单位,高3个单位
        //笑脸的字符是'1'
        //5个台阶,总高度就是5*3=15,同理宽度也是15
        //第一行,宽度是4*3=12,从12开始打印*号
        //行(y轴)
        int temp = 0;
        int temp2 = 0;
        char ch = '1';
        for (int i = 0; i < 11; i++)
        {
            temp = 8 - i / 2 * 2;
            if (temp + 4>11)
            {
                temp2 = 11;
            }
            else
            {
                temp2 = temp + 4;
            }
            //x轴
            for (int j = 0; j < 11; j++)
            {
                if (j>(temp-1)&&j<(temp+3))
                {
                    //开始打印*号
                    if (!(i % 2))
                    {
                        //打印3个*号
                        printf("*");
                    }
                    else{
                        //打印1个*号
                        if (j == temp)
                        {
                            printf("*");
                        }
                        else{
                            printf(" ");
                        }
                    }
                }
                else{
                    if (j == (temp -1))
                    {
                        if ((i % 2))
                        {
                            printf("%c", ch);
                            //printf("#");
                        }
                        else{
                            printf(" ");
                        }
                    }
                    else{
                        printf(" ");
                    }
                    
                }
                
            }
            printf("
    ");
        }
    
    
        system("pause");
    }

    //题目11:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月
    //后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
    
    #define _CRT_SECURE_NO_WARNINGS
    #include<stdio.h>
    #include<stdlib.h>
    
    //分析:通过观察发现,1、1、2、3、5、8、13、21,n个月兔子的对数==(n-1)个月兔子的对数+(n-2)个月兔子的对数
    //这就是斐波那契数列,抽象为f(n)=f(n-1)+f(n-2)
    //可以使用递归,也可以使用数组
    
    
    //方法1
    int getnum(int n){
        if (n==2)
        {
            return 1;
        }
        if (n==1)
        {
            return 1;
        }
        return getnum(n - 1) + getnum(n - 2);
    }
    
    void main(){
        //方法1
        //printf("%d", getnum(8)*2);
    
        //方法2,使用数组,动态分配内存
        int num = 0;
        scanf("%d",&num);
        int *p = malloc(num * sizeof(int));
        //循环给数组赋值
        for (int i = 0; i < num; i++)
        {
            if (i==0)
            {
                *(p + i) = 1;
            }
            else{
                if (i==1)
                {
                    *(p + i) = 1;
                }
                else{
                    *(p + i) = *(p + i - 1) + *(p + i - 2);
                }
            }
            printf("%d
    ", *(p + i));
        }
    
    
    
        system("pause");
    }

    //题目12:判断101-200之间有多少个素数,并输出所有素数。
    
    #define _CRT_SECURE_NO_WARNINGS
    #include<stdio.h>
    #include<stdlib.h>
    #include<math.h>
    
    //分析:素数:质数(prime number)又称素数,有无限个。除了1和它本身以外不再有其他的因数;否则称为合数。
    //想法做2个循环,一个循环101--200;第二个循环从1到某个数
    
    void main(){
        int index = 0;
        int k = 0;
        for (int i = 101; i < 201; i++)
        {
            //使得每次循环的量减少一半
            k =(int) sqrt(i + 1);
            int tenp = 1;
            for (int j = 2; j <= k; j++)
            {
                if (i%j==0)
                {
                    tenp = 0;
                    //说明可以整除,说明是合数,不是质数
                    break;
                }
            }
            if (tenp)
            {
                index++;
                printf("
    %d",i);
            }
        }
        printf("
    质数的总个数是%d",index);
        system("pause");
    }

  • 相关阅读:
    第04组 Beta冲刺(2/5)
    第04组 Beta冲刺(1/5)
    第04组 Alpha事后诸葛亮
    第04组 Alpha冲刺(6/6)
    第04组 Alpha冲刺(5/6)
    第04组 Alpha冲刺(4/6)
    第04组 Alpha冲刺(3/6)
    作业2-1:矩阵协方差
    作业lab1-1:lammps教程总结
    如何在服务器上传/下载文件
  • 原文地址:https://www.cnblogs.com/zhanggaofeng/p/5148238.html
Copyright © 2020-2023  润新知