牛客网上错题总结及重写(C语言)(1)

每日一言

不是每一次出走,都能再回去的。 --残次品


题目 BC16

牛客网上错题总结及重写(C语言)(1)_第1张图片
错因:不知道怎么表示十六进制数
正确代码

#include 
int main()
{
    int a = 0xABCDEF;
    printf("%15d",a);
    return 0;
}

题目 BC17

牛客网上错题总结及重写(C语言)(1)_第2张图片
错因:不会输出8进制数和16进制数
正确代码

#include 

int main()
{
    printf("%#o %#X",1234,1234);
    return 0;
}

题目 BC20

牛客网上错题总结及重写(C语言)(1)_第3张图片
错因:不会输入8进制与16进制数
正确代码

#include 
int main()
{
    int a = 0;
    int b = 0;
    scanf("%x %o",&a,&b);
    printf("%d",a+b);
    
    return 0;
}

题目BC30

牛客网上错题总结及重写(C语言)(1)_第4张图片
错因:当时蒙了
正确代码

#include 

int main()
{
    int a = 0;
    scanf("%d",&a);
    printf("%d %d %d",a/3600,a/60%60,a%60);
    return 0;
}

题目BC31

牛客网上错题总结及重写(C语言)(1)_第5张图片
错因:当时刚开始学,不会算
正确代码
1.用pow函数

#include 
#include
int main()
{
    int n = 0;
    scanf("%d",&n);
    printf("%.0f",pow(2,n));
    return 0;
}

2.用移位操作符

#include 
int main()
{
    int n = 0;
    scanf("%d",&n);
    printf("%d",2<<(n-1));
    return 0;
}

题目BC32

牛客网上错题总结及重写(C语言)(1)_第6张图片
错因:当时不会使用科学计数法
正确代码

#include 

int main()
{
    long a = 0;
    scanf("%ld",&a);
    printf("%ld",a=a*(3.156*1e7));
    return 0;
}

题目BC33

牛客网上错题总结及重写(C语言)(1)_第7张图片
错因:忘记保留2位小数
正确代码

#include
int main()
{
    float tmp = 0;
    float n = 0;
    scanf("%f",&n);
    tmp = n;
    int i = 0;
    float min = 9999;
    float max = -1;
    float ave = 0;
    for(i=0;i<tmp;i++)
    {
        scanf("%f",&n);
        ave+=n;
        if(n>max)
        {
            max = n;
        }
        if(n<min)
        {
            min = n;
        }
    }
    printf("%.2f %.2f %.2f",max,min,ave/tmp);
    return 0;
}

题目BC34

牛客网上错题总结及重写(C语言)(1)_第8张图片
错因:不会算三角形面积
正确代码

#include 
#include 
int main() 
{
    int a = 0;
    int b = 0;
    int c = 0;
    scanf("%d %d %d",&a,&b,&c);
    float d = a+b+c;
    float p =d/2.0;
    float e = sqrt(p*(p-a)*(p-b)*(p-c));
    printf("circumference=%.2f area=%.2f",d,e);


    return 0;
}

题目BC35

牛客网上错题总结及重写(C语言)(1)_第9张图片
错因:数学问题
正确代码

#include 
int main()
{
    int n = 0;
    int h = 0;
    int m = 0;
    while(~scanf("%d %d %d",&n,&h,&m))
    {
        if(m%h)
        printf("%d",n-m/h-1);
        else
        printf("%d",n-m/h);
    }
    return 0;
}

题目BC41

牛客网上错题总结及重写(C语言)(1)_第10张图片
错因:整数除法
正确代码

#include 
int main ()
{
    int r = 0;
    scanf("%d",&r);
    float s = 0;
    printf("%.2f",(4.0/3)*3.14*r*r*r);
    return 0;
}

题目BC42

牛客网上错题总结及重写(C语言)(1)_第11张图片
错因:忘记满60分钟要进一小时
正确代码

#include 
int main()
{
    int a = 0;
    int b = 0;
    int k = 0;
    scanf("%d:%d %d",&a,&b,&k);
    a=(a+k/60+(b+k%60)/60)%24;
    b=(b+k)%60;
    printf("%02d:%02d",a,b);
    return 0;
}

计算小时的式子写的有点乱,换一种写法

#include 
int main()
{
    int a = 0;
    int b = 0;
    int k = 0;
    scanf("%d:%d %d",&a,&b,&k);
    a=((b+k)/60+a)%24;
    b=(b+k)%60;
    printf("%02d:%02d",a,b);
    return 0;
}

其中(b+k)/60,计算加k后总共多出来几小时,之后加a算出总小时数,最后%24使a的范围卡定在0点到23点


结语

请给自己些耐心,一口吃不成胖子。
山外青山楼外楼,莫把百尺当尽头。
想成为大佬那就保持空杯心态加油努力吧!


都看到这里啦!真棒(*^▽^*)

可以给作者一个免费的赞赞吗,这将会鼓励我继续创作,谢谢大家

编程小白写作,如有纰漏或错误,欢迎指正


你可能感兴趣的:(牛客网刷题,c语言,算法,开发语言,学习)