【C初阶——基础刷题】刷题8

简介: 【C初阶——基础刷题】刷题8

题目链接

  1. 平均平均⾝⾼00:00:00⸺00:06:05题号:(⽆)链接:https://www.nowcoder.com/questio
    nTerminal/487e757828ed4d40aa391b305105df68
  2. HTTP状态码00:06:05⸺00:13:38题号:BC69链接:https://www.nowcoder.com/practic
    e/99dba043761e43c2a6f931e2c5c247c7?tpId=290&tqId=39857&ru=/exam/oj
  3. 数字三⻆形00:13:38⸺00:18:15题号:BC113链接:https://www.nowcoder.com/practice/804a22929b844e6b9379a5e90b5e2197?
  4. 公务员⾯试00:18:15⸺00:26:15题号:BC93链接:https://www.nowcoder.com/practic
    e/f3a134908d5b41869f14f58307008a97?tpId=290&tqId=39881&ru=/exam/oj
  5. 有序序列插⼊⼀个数00:26:15⸺00:43:25题号:BC123链接:https://www.nowcoder.co
    m/practice/444e87f938464906a1649cff236b102b?tpId=290&tqId=39911&ru=/exam/oj
  6. 筛选法求素数00:43:25⸺01:07:19题号:BC127链接:https://www.nowcoder.com/pra
    ctice/06c3dcc303654ef4926654023eca1e5a?tpId=290&tqId=39915&ru=/exam/oj
  7. 图像相似度01:07:19⸺01:14:20题号:BC135链接:https://www.nowcoder.com/practic
    e/f2952ee3bb5c48a9be6c261e29dd1092?tpId=290&tqId=39923&ru=/exam/oj
  8. 登录验证01:14:20⸺01:21:50题号:BC144链接:https://www.nowcoder.com/practic
    e/799daf76369c4fb1a2e2d56f885225ae?tpId=290&tqId=39932&ru=/exam/oj
  9. 包含数字9的数01:21:50⸺01:27:20题号:BC89链接:https://www.nowcoder.com/pra
    ctice/0948f4f3344c452f843afd3585dd0f8d?tpId=290&tqId=39877&ru=/exam/oj
  10. 奇偶统计01:27:20⸺01:34:39题号:BC80链接:https://www.nowcoder.com/practic
    e/04de8eb0ecab426fa6be3ae99af17210?tpId=290&tqId=39868&ru=/exam/oj

T1:

解:

#include <stdio.h>
int main() {
    double arr[5] = {0};
    int i = 0;
    double sum = 0;
    for(i = 0;i<5;i++)
    {
        scanf("%lf",&arr[i]);
        sum+=arr[i];
    }
    printf("%.2lf\n",sum/5.0);
    return 0;
}

一般可能会搞个数组存一下数据然后进行处理,其实这个数据没必要存储,节约内存空间,提升效率,可以修改一下代码:

#include <stdio.h>
int main() {
    int i = 0;
    double sum = 0;
    double m = 0.0;
    for(i = 0;i<5;i++)
    {
        scanf("%lf",&m);
        sum+=m;
    }
    printf("%.2lf\n",sum/5.0);
    return 0;
}

T2:

解:

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

T3:

解:

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

T4:

#include <stdio.h>
int main() {
     int arr[7] = {0};
    while (scanf("%d %d %d %d %d %d %d", &arr[0], &arr[1], &arr[2], &arr[3],
                 &arr[4], &arr[5], &arr[6]) != EOF) {
                   
    int i = 0;
    int max = 0;
    int min = 100;
    double sum = 0.0;
        for (i = 0; i < 7; i++) {
            if (arr[i] > max)
                max = arr[i];
            if (arr[i] < min)
                min = arr[i];
            sum += arr[i];
        }
        sum -= (max + min);
        printf("%.2lf\n", sum / 5.0);
    }
    return 0;
}

T5:

解:

#include <stdio.h>
int main()
{
   int arr[51] = {0};
   int i = 0;
   int n = 0;
   while(scanf("%d",&n)!=EOF)
   {
    //输入数据
        for(i = 0;i<n;i++)
        {
            scanf("%d",&arr[i]);
        }
    //插入数据
    int q = 0;
    scanf("%d",&q);
    for(i = 0;i<n;i++)
    {
        if(q<arr[i])
        {
            int j = 0;
            //往后挪动一位
            for(j=n;j> i;j--)
            {
                arr[j] = arr[j-1];
            }
            arr[i] = q;
            break;
        }
        else
        {
            ;
        }
    }
    //特殊情况
    if(i==n)
    {
         arr[i] = q;
    }
    
    for(i = 0;i<n+1;i++)
    {
        printf("%d ",arr[i]);
    }
   }
   
    return 0;
}

T6:

0%任何非0数字=0!

//一般这个筛选法比较麻烦

#include <stdio.h>
int main() 
{
    int n = 0;
    int arr[101] = {0};
    int count = 0;
    while(~scanf("%d",&n))
    {
        //存入数据
        int i = 0;
        for(i = 2;i<=n;i++)
        {
            arr[i] = i;
        }
        //生成除数,顺便置换为0
        int j = 0;
        for(j = 2;j< n;j++)
        {
           for(i = j+1;i<= n;i++)
           {
            if(arr[i]&&arr[i]%j==0)
            {
                arr[i] = 0;
                count++;
            }
           }
        }
    for(i = 0;i<=n;i++)
    {
        if(arr[i])
        {
            printf("%d ",arr[i]);
        }
    }
    printf("\n%d",count);
    }
    return 0;
}

//试除法比较简单:

T7:

#include <stdio.h>
int main() {
    
    int m = 0;
    int n = 0;
    while(scanf("%d %d",&m,&n)!=EOF)
    {
        int count = 0;
        int arr1[m][n];
        int arr2[m][n];
        int i = 0;
        int j = 0;
        for(i = 0;i<m;i++)
        {
            for(j = 0;j<n;j++)
            {
                scanf("%d",&arr1[i][j]);
            }
        }
        for(i = 0;i<m;i++)
        {
            for(j = 0;j<n;j++)
            {
                scanf("%d",&arr2[i][j]);
            }
        }
        for(i = 0;i<m;i++)
        {
            for(j = 0;j<n;j++)
            {
                if(arr1[i][j]==arr2[i][j])
                {
                    count++;
                }
            }
        }
        printf("%.2lf",100.0*count/(m*n));
    }
    return 0;
}

T8:

解:

#include <stdio.h>
#include<string.h>
int main() 
{
    char a[100] = {0};
    char b[100] = {0};
    while (scanf("%s %s", &a[0], &b[0]) != EOF) { // 注意 while 处理多个 case
        // 64 位输出请用 printf("%lld") to
        if(!strcmp(a,"admin")&&!strcmp(b,"admin"))
        {
            printf("Login Success!\n");
        } 
        else {
        {
            printf("Login Fail!\n");
        }
        }
    }
    return 0;
}

T9:

解:

#include <stdio.h>
int main() 
{
    int count = 0;
   int i = 0;
   for(i = 1;i<=2019;i++)
   {
    int t = i;
    while(t)
    {
        if(t%10==9)
        {
            count++;
            break;
        }
        else
        {
        t/=10;
        }
    }
   }
   printf("%d",count);
    return 0;
}

T10:

#include <stdio.h>
int main() {
    int n = 0;
    int i = 0;
    scanf("%d",&n);
    int odd= 0;
    for(i = 0;i<=n;i++)
    {
        if(i%2)
        {
            odd++;
        }
    }
    printf("%d %d",odd,n-odd);
    return 0;
}

改进:

#include <stdio.h>
int main() {
    int n = 0;
    int i = 0;
    scanf("%d",&n);
    int odd= 0;
    if(n%2)
    {
        odd = n/2+1;
    }
    else {
    odd=n/2;
    }
    printf("%d %d",odd,n-odd);
    return 0;
}
相关文章
|
安全 Java API
RESTful API设计与实现:Java后台开发指南
【4月更文挑战第15天】本文介绍了如何使用Java开发RESTful API,重点是Spring Boot框架和Spring MVC。遵循无状态、统一接口、资源标识和JSON数据格式的设计原则,通过创建控制器处理HTTP请求,如示例中的用户管理操作。此外,文章还提及数据绑定、验证、异常处理和跨域支持。最后,提出了版本控制、安全性、文档测试以及限流和缓存的最佳实践,以确保API的稳定、安全和高效。
389 1
|
12月前
|
IDE 开发工具 Android开发
Flutter 框架的优点
综上所述,Flutter框架以其跨平台一致性、高性能表现、丰富的组件和插件生态、热重载等诸多优点,为移动应用开发带来了全新的体验和强大的开发能力,成为了越来越多开发者的首选框架。
|
存储 人工智能 开发框架
蚂蚁集团开源项目 DB-GPT 和 VSAG 惊艳亮相,引领 AI 数据革命!
9月5日,在2024 Inclusion·外滩大会“从DATA for AI到AI for DATA”见解论坛上,由蚂蚁集团发起的,旨在提高数据库与大模型应用开发效率的“星辰智能社区”新发布了两个项目:AI原生数据应用开发框架DB-GPT新版本与向量索引库VSAG。
|
机器学习/深度学习 算法 数据挖掘
机器学习中的监督学习与非监督学习
在机器学习领域,算法主要分为两大类:监督学习(Supervised Learning)和非监督学习(Unsupervised Learning)。这两种方法在数据处理和问题解决方面各有特点和应用场景。本文将详细介绍监督学习与非监督学习的基本概念、区别以及它们的常见应用。
801 0
|
消息中间件 存储 缓存
|
存储 编解码 开发框架
【C++ 多态 】了解 C++ 中的类型擦除和虚拟函数调用
【C++ 多态 】了解 C++ 中的类型擦除和虚拟函数调用
357 1
|
JavaScript 前端开发 编译器
Vue生成二维码
实现输入内容后点击回车或生成按钮,生成二维码,扫描后是我们在输入框的值.
180 0
Vue生成二维码
|
Kubernetes 负载均衡 监控
K8s入门基础篇:Node组件的介绍
K8s入门基础篇:Node组件的介绍
660 1
|
图形学
Unity 导入原神人物模型
Unity 导入原神人物模型
5247 2
Unity 导入原神人物模型
|
Java 大数据 C++
Python与C交互之指针,一篇文章搞懂内核编程
Python与C交互之指针,一篇文章搞懂内核编程
713 0
下一篇
开通oss服务