C语言基础语法跟练 day4

发布时间:2024年01月19日

41、牛牛有一个半径为 r 的球,他想知道这个球的体积。

#include <stdio.h>
#include<math.h>
int main() 
{
    float r;
    scanf("%f",&r);
    float v = (4.0/3)*3.14*pow(r,3);
    printf("%.2f",v);
    return 0;
}

42、小乐乐比较懒惰,他现在想睡觉,然后再去学习。他知道现在的时刻,以及自己要睡的时长,想设定一个闹钟叫他起床学习,但是他太笨了,不知道应该把闹钟设定在哪个时刻,请你帮助他。(只考虑时和分,不考虑日期)

#include <stdio.h>

int main() 
{
    int hour,minute,k;
    scanf("%d:%d %d",&hour,&minute,&k);
    hour += k / 60;
    hour %= 24;
    minute += k % 60;
    if(minute >= 60)
    {
        minute %= 60;
        hour++;
    }
    printf("%02d:%02d\n",hour,minute);
    return 0;
}

43、?小乐乐学校教学楼的电梯前排了很多人,他的前面有n个人在等电梯。电梯每次可以乘坐12人,每次上下需要的时间为4分钟(上需要2分钟,下需要2分钟)。请帮助小乐乐计算还需要多少分钟才能乘电梯到达楼上。(假设最初电梯在1层)

#include <stdio.h>
 
int main() {
    int count = 0;
    int a = 0;
    scanf("%d", &a);
    if (a < 12)
        printf("%d", 2);
    else 
    {
        while (a > 12) 
        {
            a = a - 12;
            count++;
        }
        if (a == 0)
            printf("%d", count * 4);
        else
            printf("%d", count * 4 + 2);
 
    }
    return 0;
}

44、小乐乐最近在课上学习了如何求两个正整数的最大公约数与最小公倍数,但是他竟然不会求两个正整数的最大公约数与最小公倍数之和,请你帮助他解决这个问题。

#include <stdio.h>
//辗转相除法
int gcd(long long int a,long long int b)
{
    if(a%b ==0)
    return b;
    else
    {
     return gcd(b,a%b);
    }
}
int main() 
{
   long long int n,m;
   while(scanf("%d%d",&n,&m) != EOF )
   {
    long long int max = gcd(n,m);
    long long int min = n*m/max;
    long long int sum = max + min;
    printf("%lld\n",sum);
   }
   
    return 0;
}

45、小乐乐喜欢数字,尤其喜欢0和1。他现在得到了一个数,想把每位的数变成0或1。如果某一位是奇数,就把它变成1,如果是偶数,那么就把它变成0。请你回答他最后得到的数是多少。?

?

?

#include <stdio.h>
#include <math.h>
int main() 
{
    int n = 0;//输入变量
    int i = 0;//幂次变量
    int sum = 0;//改变后的和
    scanf("%d",&n);
    while(n)
    {
        int m = n%10;
        if((m%2) == 1)
        {
            sum = sum + 1*pow(10,i);
            i++;
        }
        else 
        {
        sum = sum + 0*pow(10,i);
        i++;
        }
        n /= 10;
    }
        printf("%d\n",sum);
    return 0;
}

46、

KiKi这学期努力学习程序设计基础,要期末考试了,BoBo老师告诉他,总成绩包括四个部分,如下:总成绩 = 实验成绩 * 20% + 课堂表现成绩 * 10% + 过程考核成绩 * 20% + 期末上机考试成绩 * 50%,现在输入KiKi的各项成绩,请计算KiKi的总成绩。

#include <stdio.h>

int main() 
{
    float exp = 0;
    float perfo = 0;
    float course = 0;
    float eoft = 0;
    scanf("%f%f%f%f",&exp,&perfo,&course,&eoft);
    float grade = 0.2*exp + 0.1*perfo + 0.2*course + 0.5*eoft;
    printf("%.1f",grade);
    return 0;
}

47、这是一个非常简单的题目,意在考察你编程的基础能力。千万别想难了哦。输入为一行,包括了用空格分隔的四个整数a、b、c、d(0 < a, b, c, d < 100,000)。输出为一行,为“(a+b-c)*d”的计算结果。

?

#include <stdio.h>

int main() 
{
    int a,b,c,d;
    scanf("%d %d %d %d",&a,&b,&c,&d);
    printf("%d\n",(a+b-c)*d);
    return 0;
}

?48、牛牛有一个线段放在二维坐标系中,已知线段两个点的坐标 (x1,y1),(x2,y2) 。牛牛想知道这个线段的长度的平方。

#include <stdio.h>
#include <math.h>
int main() 
{
    int x1,x2,y1,y2;
    scanf("%d %d",&x1,&y1);
    scanf("%d %d",&x2,&y2);
    int n = x1-x2;
    int m = y1-y2;
    int ret = pow(n,2)+pow(m,2);
    printf("%d\n",ret);
    return 0;
}

49、问题:KiKi今年5岁了,已经能够认识100以内的非负整数,并且并且能够进行?100?以内的非负整数的加法计算。不过,BoBo老师发现KiKi在进行大于等于100的正整数的计算时,规则如下:

1.?????? 只保留该数的最后两位,例如:对KiKi来说1234等价于34;

2.?????? 如果计算结果大于等于?100, 那么KIKI也仅保留计算结果的最后两位,如果此两位中十位为0,则只保留个位。例如:45+80 = 25。要求给定非负整数?a和?b,模拟KiKi的运算规则计算出?a+b?的值。

?

#include <stdio.h>

int main() 
{
    unsigned int a,b;
    int sum = 0; 
    scanf("%d %d",&a,&b);
    a %= 100;
    b %= 100;
    sum = a+b;
    if(sum>100)
    {
        sum %= 100;
    }
    else if(sum == 100)
    {
        sum = 0;
    }
    printf("%d\n",sum);
    return 0;
}

?50、据说智商140以上者称为天才,KiKi想知道他自己是不是天才,请帮他编程判断。输入一个整数表示一个人的智商,如果大于等于140,则表明他是一个天才,输出“Genius”。

#include<stdio.h>
int main()
{
    int i = 0;
    do
    {
        scanf("%d", &i);
        if (i >=140)
        {
            printf("Genius\n");
        }
    } while (scanf("%d", &i) == 1);
    return 0;
}

?

?

文章来源:https://blog.csdn.net/zy1215058242/article/details/135707380
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。