c语言牛客网64-114题基础练习

1.k形图案

在这里插入图片描述

#include<stdio.h>
int main()
{
    int k;
    while(scanf("%d",&k)!=EOF)
    {
        // //先打印上半部分
        for (int i = 0; i <=k;i++)//上半部分排
        {
            for (int j = 0; j <=k - i;j++)
            {
                printf("* ");
            }
            printf("\n");//打印完后换行
        }
        // // 为下半部分打印
        for (int i = 0; i <k;i++)
        {
            for (int j = 0; j <=i+1;j++)//每行多打印一列
            {
                printf("* ");
            }
            printf("\n");
        }
    }
    return 0;
}

2.箭形图案

在这里插入图片描述

#include<stdio.h>
int main()
{
    int arrow;
    while(scanf("%d",&arrow)!=EOF)
    {
    //先打印空格, 上半行
    for (int i = 0; i <= arrow;i++)
    {
        for (int j = 0; j < arrow - i;j++)
        {
            printf("  ");
        }
        for (int j = 0; j <= i;j++)
        {
            printf("*");
        }
        printf("\n");
    }
    //打印下半部分
    for (int i = 0; i < arrow;i++)
    {
        for (int j = 0; j <= i;j++)
        {
            printf("  ");
        }
        for (int j = 0; j < arrow - i;j++)
        {
            printf("*");
        }
        printf("\n");
    }
    }
        return 0;
}

3.反斜线型图案

在这里插入图片描述

#include<stdio.h>
int main()
{
    int thread;
    while(scanf("%d",&thread)!=EOF)
    {
        for (int i = 0; i<thread;i++)
        {
            for (int j = 0; j <i;j++)
            {
                printf(" ");
            }
            printf("*\n");
        }
    }
    return 0;
}

4.正斜线形图案

在这里插入图片描述

#include<stdio.h>
int main()
{
    int thread;
    while(scanf("%d",&thread)!=EOF)
   {
       for (int i = 0; i < thread;i++)
       {
           for (int j = 1; j <thread-i;j++)
           {
               printf(" ");
           }
           printf("*\n");
       }
   }
    return 0;
}

5.X形图案

在这里插入图片描述

#include<stdio.h>
int main()
{   
    int x;
    while(scanf("%d",&x)!=EOF)
   {
       for (int i = 0; i < x;i++)//打印行不变
       {
           for (int j = 0; j < x;j++)//打印列
           {
               if(i==j)//打印左斜线
               {
                   printf("*");
               }
               else if(j==x-i-1)//打印右斜线
               {
                   printf("*");
               }
               else
               {
                   printf(" ");
               }
           }
           printf("\n");
       }
   }
    return 0;
}

6.空心正方形图案

在这里插入图片描述

#include<stdio.h>
int main()
{
    int square;
    while(scanf("%d",&square)!=EOF)
    {
        for (int i = 0; i < square;i++)//行
        {
            for (int j = 0; j < square;j++)//列
            {  
                if(i == 0 || i == square - 1 || j == 0 || j == square -1)
                //第一行和最后一行,第一列最后一列条件
                printf("* ");
                else
                printf("  ");
            }
            
            printf("\n");
        }
    }
    return 0;
}

7.空心三角形图案

在这里插入图片描述

#include<stdio.h>
int main()
{
    int triangle;
    while(scanf("%d",&triangle)!=EOF)
    {
        for (int i = 0; i < triangle;i++)
        {
            for (int j = 0; j < triangle; j++)
            {
                if (i == triangle- 1||i == j||j==0)
                //条件1为第最后一行-1,条件二为右侧*输出,条件3为第一列输出
                    printf("* ");
                else
                    printf("  ");
            }
            printf("\n");
        }
    }
    return 0;
}

8.平均身高

在这里插入图片描述

#include<stdio.h>
int main()
{
    float p[5] = {0};
    float sum = 0;
    for (int i = 0; i <5;i++)
    {
        scanf("%f",&p[i]);
    }
        for (int i = 0; i <5; i++)
        {
            sum += p[i];
        }
    printf("%.2f", sum/5);

    return 0;
}
//2.
#include <stdio.h>
int main() {
    float a,b,c,d,e;
    scanf("%f %f %f %f %f",&a,&b,&c,&d,&e);
    float average =(a+b+c+d+e)/5;
    printf("%.2f",average);
    return 0;
}

9.挂科危险

在这里插入图片描述

#include<stdio.h>
int main()
{
    int credit;
    while(~scanf("%d",&credit))
    {
        if(credit>=10)
            printf("Danger++\n");
        else if(credit>=4&&credit<=9)
        printf("Danger\n");
        else
        printf("Good\n");
    }
    return 0;
}

10.HTTP状态码

在这里插入图片描述

#include<stdio.h>
int main()
{
    int id;
    while(~scanf("%d",&id))
    {
        if(id==200)
         printf("OK\n");
         else if(id==202)
         printf("Accepted\n");
         else if(id==400)
         printf("Bad Request\n");
         else if(id==403)
         printf("Forbidden\n");
         else if(id==404)
         printf("Not Found\n");
         else if(id==500)
         printf("Internal Server Error\n");
         else if(id==502)
         printf("Bad Gateway\n");
         else
          printf("0\n");
    }
    return 0;
}

11.数字三角形

在这里插入图片描述

#include<stdio.h>
int main()
{
    int figure;
    while(~scanf("%d",&figure))
    {
        for(int i=1;i<=figure;i++)
        {
            for(int j=1;j<=i;j++)
            {
                printf("%d ",j);
            }
            printf("\n");
        }
    }
    return 0;
}

11.公务员面试

在这里插入图片描述

#include<stdio.h>
int main()
{
    int judge[7]={0};
    int swap =0;
    while(~scanf("%d %d %d %d %d %d %d",&judge[0],&judge[1],&judge[2],&judge[3],&judge[4],&judge[5],&judge[6]))//多组输入
    {
    for(int i=0;i<7;i++)
    {
        for(int j=i+1;j<7;j++)
        if(judge[i]<judge[j])//将所有的值由大到小排列
        {
            swap=judge[i];
            judge[i]=judge[j];
            judge[j]=swap;
        }  
    }
    float average = 0;
    for (int i = 1; i < 6; i++)
    {
        average += judge[i];
    }
    printf("%.2f ", average/5);
    }
    return 0;
}

12.有序序列插入一个数

在这里插入图片描述

#include<stdio.h>
int main()
{
    int arr[50] = {0};
    int n;  // 为输入的个数
    scanf("%d", &n); // 输入你打算输入的个数
    int i = 0; //输入n个数字
    for (int i = 0; i < n; i++)
    {
        scanf("%d",&arr[i]);
    }
    int insert;
    scanf("%d", &insert);//插入的元素
    for (i =n-1; i>=0;i--) // 比较插入元素和数组元素的大小
    {
       if(arr[i]>insert)
       {
           arr[i + 1] = arr[i];
       }
        else{
            arr[i + 1] = insert;
            break;
        }
    }
    if(i<0)
    {
        arr[0] = insert;
    }
        for ( i = 0; i < n + 1; i++)
        {
            printf("%d ", arr[i]);
        }
        return 0;
}

13.筛选法求素数

在这里插入图片描述

#include<stdio.h>
int main()
{
    char arr[100] = {0};//应题目要求
    int n;
    while(~scanf("%d",&n))//输入
    {
        for (int i = 2; i <=n;i++)//将2-n的数存入数组
        {
            arr[i] = i;//下标为0的数字改为i开始循环
            // printf("%d ", arr[i]);
        }
        //开始排查
        for (int i = 2; i <= n;i++)
        {
            for (int j = 2; j < i;j++)//素数不为1和其本身
            if(i%j==0)
                arr[i] = 0;
        }
        int count = 0;//判断i%j为0的个数
        for (int i = 2; i <= n;i++)
        {
            if(arr[i]!=0)
                printf("%d ", arr[i]);
                else
                    count++;
        }
        printf("\n%d", count);
    }
    return 0;
}

14.图像相似度

在这里插入图片描述

#include<stdio.h>
int main()
{
    int m,n,i;
    char arr1[100]={0};
    char arr2[100]={0};
    scanf("%d %d",&m,&n);
    for(i=0;i<m*n;i++)
    {
        scanf("%s",&arr1[i]);
    }
    for(i=0;i<m*n;i++)
    {
        scanf("%s",&arr2[i]);
    }
    double  count = 0.0;
    //我们需要将整数换算为小数,方便我们receive
    double rec = 0.0;
    for(i=0;i<m*n;i++)
    {
        if(arr1[i]==arr2[i])
            count++;
    }
    rec=count/(m*n);
        printf("%.2f",rec*100);
    return 0;
}

15.登陆验证

在这里插入图片描述

#include<stdio.h>
#include<string.h>
int main()
{
    char user[20] = {0};
    char passward[20] = {0};
    while(scanf("%s %s", user, passward)!=EOF)
    {
    if(strcmp(user,"admin")==0 && strcmp(passward,"admin")==0)
    //函数库为string.h
        printf("Login Success!\n");
    else
        printf("Login Fail!\n");
    }
    return 0;
}

16.包含数字9的数

在这里插入图片描述

#include<stdio.h>
int main()
{
    int count = 0;//1-2019中9的数量
    for (int i = 1; i <= 2019; i++)
    {
         int y = i;//将i循环后得到的数放入y
        while(y>=9)//从9开始
        {
            if(y%10==9)//取模
            {
                count++;//找到9++;跳出循环
                break;
            }
            else
            {
                y = y/10;
            }
        }
    }
    printf("%d",count);
    return 0;
}

17.奇偶统计

在这里插入图片描述
在这里插入图片描述

#include<stdio.h>
int main()
{
    unsigned int n;//为正整数
    int count1 = 0;
    int count2 = 0; // 偶数,奇数
    scanf("%d", &n);
    for (int i = 1; i <= n;i++)
    {
        if (i % 2 == 0)
            count1++;
        else
            count2++;
    }
    printf("%d %d", count2, count1);
    return 0;
}

18.统计成绩

在这里插入图片描述

#include<stdio.h>
int main()
{
    double n, score, max = 0, min = 100, sum;
    scanf("%lf", &n); // 输入科目数量
    for (int i = 1; i <= n;i++)
    {
        scanf("%lf", &score);//各科成绩
        if(score>max)
            max = score;//将最最大值带入max
        if(score<min)
            min = score;//将最小值带入
        sum += score;
    }
    printf("%.2f %.2f %.2f", max, min, sum / n);
    return 0;
}

19.统计成绩

在这里插入图片描述

#include<stdio.h>
int main()
{
    int a;
    int arr[50];//数组中最大范围
    scanf("%d", &a);//输入的元素的个数
    for (int i = 1; i <=a;i++)//从下标1开始
    {
        scanf("%d", &arr[i]);//输入数量
    }
    int b = 0;
    scanf("%d", &b);
    arr[0] = b;//下标0改为b后左比较
    for(int i=0;i<=a;i++)
    {
        if(arr[i+1] < arr[i])//从下标0和下标1开始比较
        {
            int swap = arr[i];//
            arr[i] = arr[i+1];
            arr[i+1] = swap;
        }
        else {
        break;
        }
    }
    for(int i=0;i<=a;i++)
    {
        printf("%d ",arr[i]);
    }
        return 0;
}

20.密码验证

在这里插入图片描述

#include<stdio.h>
#include <string.h>
int main()
{
    char user[10]={0};
    char p[10]={0};
    scanf("%s %s",user,p);
    if(strcmp(user,p)==0)
    {
        printf("same\n");
    }
    else {
    printf("different\n");
    }
    return 0;
}

20.矩阵计算

在这里插入图片描述

#include<stdio.h>
int main()
{
    int n,m=0;
    int sum=0;//给总和定义为0   
    int arr[10][10]={0};//需要的条件
    scanf("%d %d",&n,&m);
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            scanf("%d",&arr[i][j]);
            if(arr[i][j]>0)
            {
                sum += arr[i][j];
            }
        }
    }
    printf("%d", sum);
    return 0;
}

21.成绩输入输出问题

在这里插入图片描述

#include<stdio.h>
int main()
{
    int arr[10]={0};
    for (int i = 0; i < 10;i++)
    {
        scanf("%d",&arr[i]);
    }
    for (int i = 0; i < 10;i++)
    {
        printf("%d ", arr[i]);
    }

        return 0;
}

22.逆序输出

在这里插入图片描述

#include<stdio.h>
int main()
{
    int arr[10] = {0};
    for (int i = 10-1; i>=0;i--)
    //从倒数第一个数组开始0-9为我们需要存放的数
    {
        scanf("%d", &arr[i]);
    }
    for (int i = 0; i < 10;i++)
    {
        printf("%d ", arr[i]);
    }

        return 0;
}

23.统计数据正负数

在这里插入图片描述

#include<stdio.h>
int main()
{
    int arr[10] = {0};
    int a=0, b = 0;
    int sz = sizeof(arr) / sizeof(arr[0]);
    for (int i = 0; i < sz;i++)
    {
        scanf("%d", &arr[i]);
        if(arr[i]>0)
            a++;
        else if(arr[i]<0)
            b++;
    }
    printf("positive:%d\n", a);
    printf("negative:%d\n", b);
    return 0;
}

24.N个数之和

在这里插入图片描述

#include<stdio.h>
int main()
{
    int n;
    scanf("%d", &n);
    int arr[50] = {0};
    int sum = 0;
    for (int i = 0; i < n; i++)
    {
        scanf("%d", &arr[i]);
        sum += arr[i];
    }
    printf("%d", sum);
    return 0;
}

25.最高分与最低分之差

在这里插入图片描述

#include<stdio.h>
int main()
{
    int n=0;//n科成绩
    int arr[9999]={0};
    scanf("%d", &n);
    int max = 0, min = 100;
    for (int i = 0; i < n; i++)
    {
        scanf("%d",&arr[i]);
        if(max<arr[i])
            max = arr[i];
        if(min>arr[i])
            min = arr[i];
    }
    int value = 0;
    value = max - min;
    printf("%d", value);
    return 0;
}

26.有序序列判断

在这里插入图片描述

#include<stdio.h>
int main()
{
    int n = 0;
    scanf("%d", &n);
    int arr[100] = {0};
    int count1 = 0,count2 = 0;
    for (int i = 0; i < n; i++)
    {
        scanf("%d", &arr[i]);
        if(i>=1)//第二个值进行判断
        {
            if(arr[i]>arr[i-1])
                count1=1;//序列
             else
                count2=1;//不是序列
        }
    }
    if(count1==1&&count2==1)
        printf("unsorted\n");//两个条件都走为非有序数
    else
        printf("sorted\n");
    return 0;
}

27.有序序列插入一个整数

在这里插入图片描述

#include<stdio.h>
int main()
{
    unsigned int n = 0;
    scanf("%d", &n);
    int arr[100] = {0};
    int insert = 0;
    for (int i = 1; i <=n; i++)//下标改为1  
    {
        scanf("%d", &arr[i]);
    }
    scanf("%d", &insert);
    arr[0] = insert;//将arr0的下标元素改为insert
    for (int i = 0; i < n;i++)
    {
        if(arr[i]>arr[i+1])
        {
            int tmp = arr[i];
            arr[i] = arr[i + 1];
            arr[i + 1] = tmp;
        }
    }
    for (int i = 0; i <=n;i++)
    {
        printf("%d ", arr[i]);
    }
        return 0;
}

28.序列中删除指定数字

在这里插入图片描述

#include<stdio.h>
int main()
{
    unsigned int n = 0;//输入数组中元素的个数
    scanf("%d", &n);
    int arr[100] = {0};//数组
    for (int i = 0; i < n;i++)
    {
        scanf("%d",&arr[i]);
    }
    unsigned int re = 0;//想要删除的元素
    scanf("%d", &re);
    for (int i = 0; i < n;i++)
    {
        if(arr[i]!=re)
            printf("%d ", arr[i]);
    }
        return 0;
}

29.序列中整数去重

在这里插入图片描述

#include<stdio.h>
int main()
{
    unsigned int n = 0;
    scanf("%d", &n);
    int arr[100] = {0};
    for (int i = 0; i < n;i++)
    {
        scanf("%d",&arr[i]);
    }
    for (int i = 0; i < n;i++)
    {
        for (int j = i + 1; j < n;j++)
        {
          if(arr[i]==arr[j])
              arr[j] = 0;//第一个相同元素不需要更改,更改第二个元素
        }
        if(arr[i]!=0)
            printf("%d ", arr[i]);
    }
        return 0;
}

30.有序序列合并

在这里插入图片描述

#include<stdio.h>
int main()
{
    int m = 0, n = 0;
    int arr[30000] = {0};
    scanf("%d %d", &m, &n);//输入个数
    for (int i = 0; i < m+n;i++)
    {
        scanf("%d",&arr[i]);//输入生序序列个数arr
    }
    for (int i = 0; i < m + n;i++)
    {
        for (int j = i + 1; j < m + n; j++)
        {
            if(arr[i]>arr[j])
            {
                int tmp = arr[i];
                arr[i] = arr[j];
                arr[j] = tmp;
            }
        }
    }
    for (int i = 0; i < m+n;i++)
    {
        printf("%d ",arr[i]);//输入生序序列个数arr
    }
        return 0;
}

31.班级成绩输入输出

在这里插入图片描述

#include<stdio.h>
int main()
{
    float score=0.0;
    for(int i=1;i<=5;i++)//五个学生
    {
        float sum=0.0;
        for(int j=1;j<=5;j++)//每个学生五科成绩
        {
            scanf("%f",&score);
             sum+=score;
            printf("%.1f ",score);
        }
        printf("%.1f\n",sum);//sum打印完继续循环,sum又赋值为0
    }
    return 0;
}

32.矩阵元素定位

在这里插入图片描述

#include<stdio.h>
int main()
{
    int n=0;int m=0;
    int arr[5][5]={0};
    scanf("%d %d",&n,&m);
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            scanf("%d",&arr[i][j]);
        }
    }
    int x=0,y=0;
    scanf("%d %d",&x,&y);
    printf("%d\n",arr[x-1][y-1]);
    return 0;
}

33.序列重组矩阵

在这里插入图片描述

#include<stdio.h>
int main()
{
    int n, m;
    int arr[10][10]= {0};
    scanf("%d %d", &n, &m);
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m;j++)
        {
            scanf("%d",&arr[i][j]);
            printf("%d ", arr[i][j]);
        }
        printf("\n");
    }
        return 0;
}

34.最高身高

在这里插入图片描述

#include<stdio.h>
int main()
{
    int n,m;
    int arr[10][10]={0};
   int max=0;
   int x=0,y=0;
    scanf("%d %d",&n,&m);
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            scanf("%d",&arr[i][j]);
            if(max<arr[i][j])
            {
                x=i+1;
                y=j+1;
                max=arr[i][j];
            }
        }
    }
    printf("%d %d\n",x,y);
    return 0;
}

35.最高身高

在这里插入图片描述

#include<stdio.h>
int main()
{
    int n,m;
    int arr[10][10]={0};
   int max=0;
   int x=0,y=0;
    scanf("%d %d",&n,&m);
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            scanf("%d",&arr[i][j]);
            if(max<arr[i][j])
            {
                x=i+1;
                y=j+1;
                max=arr[i][j];
            }
        }
    }
    printf("%d %d\n",x,y);
    return 0;
}

36.矩阵相等判定

在这里插入图片描述

#include<stdio.h>
int main()
{
    int n,m;
    scanf("%d %d",&n,&m);
    int arr1[10][10]={0};
    int arr2[10][10]={0};
    int judge=0;
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            scanf("%d",&arr1[i][j]);
        }
    }
         for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            scanf("%d",&arr2[i][j]);
            if(arr1[i][j]==arr2[i][j])
            {
                judge++;
            }
        }
    }
    if(judge==m*n)//判断相同的是否为输入的个数
        printf("Yes\n");
    else
     printf("No\n");
    return 0;
}

37.上三角矩阵判定

在这里插入图片描述

#include<stdio.h>
int main()
{
    int n;
    scanf("%d",&n);
    int arr[10][10]={0};
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<n;j++)
        {
            scanf("%d",&arr[i][j]);

        }
        for(int i=0;i<n;i++)
        {
            for(int j=0;j<n;j++)
            {
                if(i>j)//上三角矩阵条件,左下角为0
                {
                    if(arr[i][j]!=0)
                    {
                        printf("NO\n");
                    return 0;
                    }
                }
            }
        }
    }
    printf("YES\n");
    return 0;
}

38.矩阵转置

在这里插入图片描述

#include<stdio.h>
int main()
{
    int n,m;
    scanf("%d %d",&n,&m);
    int arr[10][10]={0};
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            scanf("%d",&arr[i][j]);
        }
    }
    for(int i=0;i<m;i++)
    {
        for(int j=0;j<n;j++)
        {
            printf("%d ",arr[j][i]);
        }
        printf("\n");
    }
    return 0;
}

39.矩阵交换

在这里插入图片描述

#include<stdio.h>
int main()
{
    int n,m;//行列个数
    int arr[10][10];
    scanf("%d %d",&n,&m);
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            scanf("%d",&arr[i][j]);//输入行列信息
        }
    }
    int k;
    scanf("%d",&k);//k行执行次数
    char ch;
    int a,b;
    for(int i = 0;i<k;i++)//一共k行
    {
        getchar();
        scanf("%c %d %d",&ch,&a,&b);
    if (ch == 'r')
        {
            //交换a和b行
            for (int j = 0; j < m; j++)
            {
                int tmp = arr[a - 1][j];
                arr[a - 1][j] = arr[b - 1][j];
                arr[b - 1][j] = tmp;
            }
        }
        else if (ch == 'c')
        {
            //交换a和b列
            for (int i = 0; i< n; i++)
            {
                int tmp = arr[i][a - 1];
                arr[i][a - 1] = arr[i][b - 1];
                arr[i][b - 1] = tmp;
            }
        }
    }
 
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
        {
            printf("%d ", arr[i][j]);
        }
        printf("\n");
    }
 
    return 0;
}

40.杨辉三角

在这里插入图片描述

#include<stdio.h>
int main()
{
#include<stdio.h>
int main()
{
    unsigned int n=0;
    int arr[30][30]={0};
    scanf("%d",&n);
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<=i;j++)
        {
            if(0==j||i==j)
            {
            arr[i][j]=1;//行列为1
            }
            else
            {
             arr[i][j]=arr[i-1][j-1]+arr[i-1][j];//为上一行的左边数假右边数的和
            }
             printf("%5d",arr[i][j]);
        }
        printf("\n");
    }
    return 0;
}

41.井字棋

在这里插入图片描述

#include<stdio.h>
int main()
{
    char board[3][3];
    char flag;
    for(int i=0;i<3;i++)
    {
        for(int j=0;j<3;j++)
        {
            scanf(" %c",&board[i][j]);
        }
    }
    for(int i=0;i<3;i++)
    {
        //行
        if(board[i][0]==board[i][1]&&board[i][1]==board[i][2]&&board[i][2]!=' ')
        {
            flag=board[i][1];
            break;
        }
    }
    for(int j=0;j<3;j++)
    {
        //列
        if(board[0][j]==board[1][j]&&board[1][j]==board[2][j]&&board[2][j]!=' ')
        {
            flag=board[1][j];
            break;
        }
    }
    //两个对角线
    if(board[0][0]==board[1][1]&&board[1][1]==board[2][2]&&board[2][2]!=' ')
            flag=board[1][1];
    if(board[0][2]==board[1][1]&&board[1][1]==board[2][0]&&board[2][0]!=' ')
        flag=board[1][1];
    if('K'==flag)
        printf("KiKi wins!\n");
    else if('B'==flag)
    printf("BoBo wins!\n");
    else
     printf("No winner!\n");
    return 0;
}
}

42.小乐乐与进制转换

在这里插入图片描述

#include<stdio.h>
void func(int n)
{
    int a;
    if(n==0);//递归停止条件
    else
    {
        a=n%6;//取模最大数余数
        func(n/6);//递归
        printf("%d",a);
    }
}
int  main()
{
     int n;
    scanf("%d",&n);
     func(n);
}

43.小乐乐求和

在这里插入图片描述

#include<stdio.h>
int main()
{
    long int sum=0;
    int a;
    scanf("%d",&a);
    for(int i=1;i<=a;i++)
    {
        sum+=i;
    }
    printf("%ld",sum);
    return 0;
}

44.小乐乐定闹钟

在这里插入图片描述

#include<stdio.h>
int main()
{
    int hour=0,min=0;
    int k=0;
    scanf("%d:%d %d",&hour,&min,&k);
    hour=(hour+(min+k)/60)%24;//小时,不考虑日期
    min=(min+k)%60;//分钟
    printf("%.2d:%.2d\n",hour,min);
    return 0;
}

45.小乐乐排电梯

在这里插入图片描述

#include<stdio.h>
int main()
{
    int n;
    int m=0;
    scanf("%d",&n);
    if(n>=0&&n<=12)
    {
        m=2;
    }
    else 
    {
        m=n/12*4+2;//n为排队人数/电梯容纳人数*上下时间+小乐乐上去的时间
    }
    printf("%d",m);
    return 0;
}

46.小乐乐与欧几里得

在这里插入图片描述

#include<stdio.h>
int main()
{   
    long long n,m;
    scanf("%lld %lld",&n,&m);
     long long i=n,j=m;
    while(m)//最大公约数
    {
        long int tmp=n%m;
        n=m;
        m=tmp;
    }
    long  rec = (i*j)/n;//最小公倍数
    printf("%lld",rec+n);
    return 0;
}

47.小乐乐走台阶

在这里插入图片描述

#include<stdio.h>
int fib(int n)
{
    if(n<=2)
    {
        return n;
    }
    else {
    return fib(n-1)+fib(n-2);
    }
}
int main()
{
    int n;
    scanf("%d",&n);
    int ret = fib(n);
    printf("%d\n",ret);
    return 0;
}

谢谢(#.#)大家观看!!!大家加油!!

  • 25
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值