日常刷题篇(入门)

简介: 我从简单到难,一起走上漫漫刷题路!我会持续在我的博客中更新我每天刷题的内容!相互交流!

我从简单到难,一起走上漫漫刷题路!

我会持续在我的博客中更新我每天刷题的内容!

相互交流!

大家一键三连,多多关注!

这是今天我给大家带来的题!以后难度逐渐加深!

1.判断是不是字母

描述

KiKi想判断输入的字符是不是字母,请帮他编程实现。

输入描述:

多组输入,每一行输入一个字符。

输出描述:

针对每组输入,输出单独占一行,判断输入字符是否为字母,输出内容详见输出样例。

#include <stdio.h>
#include <ctype.h>
int main() {
    char s;
    while (scanf("%c\n", &s) != EOF) {
        if (isalpha(s)) {
            printf("%c is an alphabet.\n", s);
        }else {
            printf("%c is not an alphabet.\n", s);
        }
    }
    return 0;
}

2.字母大小写转换

描述

KiKi想完成字母大小写转换,有一个字符,判断它是否为大写字母,如果是,将它转换成小写字母;反之则转换为大写字母。

输入描述:

多组输入,每一行输入一个字母。

输出描述:

针对每组输入,输出单独占一行,输出字母的对应形式。

#include<stdio.h>
int main(void) {
    char ch;
    while ((ch = getchar()) != EOF) {
        if (ch >= 'A' && ch <= 'Z')
            ch = ch + 32;
        else if (ch >= 'a' && ch <= 'z')
            ch = ch - 32;
        else
            continue;
        printf("%c\n", ch);
    }
    return 0;
}

3.判断两个数的大小关系

描述

KiKi想知道从键盘输入的两个数的大小关系,请编程实现。

输入描述:

题目有多组输入数据,每一行输入两个整数(范围-231~231-1),用空格分隔。

输出描述:

针对每行输入,输出两个整数及其大小关系,数字和关系运算符之间没有空格,详见输入输出样例。

#include <stdio.h>
int main() {
   int a,b;
   while(scanf("%d%d",&a,&b)!=EOF)
   {
   if(a<b)
   printf("%d<%d",a,b);
   if(a==b)
   printf("%d=%d",a,b);
   if(a>b)
    printf("%d>%d",a,b);
    printf("\n");
   }
   return 0;
}

4.计算单位阶跃函数

描述

KiKi最近学习了信号与系统课程,这门课里有一个非常有趣的函数,单位阶跃函数,其中一种定义方式为:


1ff241568345336c7c5766d0cd9b0ce8.png


现在试求单位冲激函数在时域t上的值。

输入描述:

题目有多组输入数据,每一行输入一个t(-1000

输出描述:

输出函数的值并换行。

#include <stdio.h>
int main() {
    int t,n;
    while(scanf("%d",&t)!=EOF)
    {
        if(t>0)
        printf("1\n");
        else if(t<0)
        printf("0\n");
        else
        printf("0.5\n");
    }
    return 0;
}


5.衡量人体胖瘦程度

描述

在计算BMI(BodyMassIndex ,身体质量指数)的案例基础上,判断人体胖瘦程度。BMI中国标准如下表所示。

8fa0248c528edd1fce6663109eb3ea61.png


输入描述:

多组输入,每一行包括两个整数,用空格隔开,分别为体重(公斤)和身高(厘米)。

输出描述:

针对每行输入,输出为一行,人体胖瘦程度,即分类。

#include <stdio.h>
int main() {
    int w,h;
    float BMI;
    while(scanf("%d%d",&w,&h)!=EOF)
    {
        BMI=w/pow(h/100.0,2);
        if(BMI<18.5)
        printf("Underweight\n");
        else if(BMI>=18.5&&BMI<=23.9)
        printf("Normal\n");
        else if(BMI>23.9&&BMI<=27.9)
        printf("Overweight\n");
        else
        printf("Obese\n");
    }
    return 0;
}

6.计算一元二次方程

描述

从键盘输入a, b, c的值,编程计算并输出一元二次方程ax2 + bx + c = 0的根,当a = 0时,输出“Not quadratic equation”,当a ≠ 0时,根据△ = b2 - 4*a*c的三种情况计算并输出方程的根。

输入描述:

多组输入,一行,包含三个浮点数a, b, c,以一个空格分隔,表示一元二次方程ax2 + bx + c = 0的系数。

输出描述:

针对每组输入,输出一行,输出一元二次方程ax2 + bx +c = 0的根的情况。  
如果a = 0,输出“Not quadratic equation”;

 如果a ≠  0,分三种情况:

△ = 0,则两个实根相等,输出形式为:x1=x2=...

△  > 0,则两个实根不等,输出形式为:x1=...;x2=...,其中x1  <=  x2。
△  < 0,则有两个虚根,则输出:x1=实部-虚部i;x2=实部+虚部i,即x1的虚部系数小于等于x2的虚部系数,实部为0时不可省略。实部= -b / (2*a),虚部= sqrt(-△ ) / (2*a)

所有实数部分要求精确到小数点后2位,数字、符号之间没有空格。


#include <math.h>
#include <stdio.h>
int main() {
    double a, b, c, delta, real,imaginary;
    while (scanf("%lf %lf %lf", &a, &b, &c) != EOF) { 
        delta = b * b - 4 * a * c;
        if (!a) {
            printf("Not quadratic equation\n");
        } else {
            real = - (b / (2 * a));
            if(real == 0){
                real = 0;
            }
            if(delta < 0){
                imaginary = sqrt(-delta) / (2 * a);
            } else {
                imaginary = sqrt(delta) / (2 * a);
            }
            if (delta == 0) {
                printf("x1=x2=%.2f\n",real);
            } else if (delta > 0) {
                printf("x1=%.2f;x2=%.2f\n",real - imaginary, real + imaginary);
            } else {
                printf("x1=%.2f-%.2fi;x2=%.2f+%.2fi\n",real, imaginary, real, imaginary);
            }
        }
    }
    return 0;
}

7.获得月份天数

描述

KiKi想获得某年某月有多少天,请帮他编程实现。输入年份和月份,计算这一年这个月有多少天。

输入描述:

多组输入,一行有两个整数,分别表示年份和月份,用空格分隔。

输出描述:

针对每组输入,输出为一行,一个整数,表示这一年这个月有多少天。

#include <stdio.h>
int main() {
    int a, b;
    while (scanf("%d %d", &a, &b) != EOF) {
        switch (b) {
            case 1:
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
            case 12:
                printf("%d\n", 31);
                break;
            case 4:
            case 6:
            case 9:
            case 11:
                printf("%d\n", 30);
                break;
            case 2:
                if (a % 4 == 0 && a % 100 != 0 || a % 400 == 0) {
                    printf("%d\n", 29);
                } else {
                    printf("%d\n", 28);
                }
                break;
        }
    }
    return 0;
}

8.简单计算器

描述

KiKi实现一个简单计算器,实现两个数的“加减乘除”运算,用户从键盘输入算式“操作数1运算符操作数2”,计算并输出表达式的值,如果输入的运算符号不包括在(+、-、*、/)范围内,输出“Invalid operation!”。当运算符为除法运算,即“/”时。如果操作数2等于0.0,则输出“Wrong!Division by zero!”

数据范围:字符串长度满足  3≤n≤50  ,保证运算符是一个char类型字符。

输入描述:

输入一行字符串,操作数1+运算符+操作数2 (其中合法的运算符包括:+、-、*、/)。

输出描述:

输出为一行。


如果操作数和运算符号均合法,则输出一个表达式,操作数1运算符操作数2=运算结果,各数小数点后均保留4位,数和符号之间没有空格。


如果输入的运算符号不包括在(+、-、*、/)范围内,输出“Invalid operation!”。当运算符为除法运算,即“/”时。


如果操作数2等于0.0,则输出“Wrong!Division by zero!”。

#include <stdio.h>
int main()
{
  double a = 0.0;
  double b = 0.0;
  double c = 0.0;
  char oper = 0;
  int flag = 1;
  scanf("%lf%c%lf", &a, &oper, &b);
  switch (oper)
  {
  case '+':
  c = a + b;
  break;
  case '-':
  c = a - b;
  break;
  case '*':
  c = a * b;
  break;
  case '/':
  if (b == 0.0)
  {
    printf("Wrong!Division by zero!\n");
    flag = 0;
  }
  else
    c = a / b;
  break;
  default:
  printf("Invalid operation!\n");
  flag = 0;
  break;
  }
  if (flag ==1)
  printf("%.4lf%c%.4lf=%.4lf\n", a, oper, b, c);
  return 0;
}

9.线段图案

描述

KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的线段图案。

输入描述:

多组输入,一个整数(1~100),表示线段长度,即“*”的数量。

输出描述:

针对每行输入,输出占一行,用“*”组成的对应长度的线段。

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


相关文章
|
存储 算法 C语言
日常刷题篇(入门)
我从简单到难,一起走上漫漫刷题路! 我会持续在我的博客中更新我每天刷题的内容! 相互交流!
日常刷题篇(入门)
我从简单到难,一起走上漫漫刷题路! 我会持续在我的博客中更新我每天刷题的内容! 相互交流!
|
C语言 C++
基础刷题篇(入门)
我从简单到难,一起走上漫漫刷题路! 我会持续在我的博客中更新我每天刷题的内容! 相互交流!
|
前端开发 JavaScript 测试技术
牛客前端宝典——刷题 ##Day12
🏆编程就像我们平常做题一样,如果只是一味的学习不去做题的话所得到的效果微乎其微。
166 0
牛客前端宝典——刷题 ##Day12
|
前端开发 容器
牛客前端宝典——刷题 ##Day7
🏆编程就像我们平常做题一样,如果只是一味的学习不去做题的话所得到的效果微乎其微。
131 0
牛客前端宝典——刷题 ##Day7
|
文字识别 前端开发 开发者
牛客前端宝典——刷题 ##Day5
🏆编程就像我们平常做题一样,如果只是一味的学习不去做题的话所得到的效果微乎其微。
125 0
牛客前端宝典——刷题 ##Day5
|
前端开发
牛客前端宝典——刷题 ##Day2
🏆编程就像我们平常做题一样,如果只是一味的学习不去做题的话所得到的效果微乎其微。
100 0
牛客前端宝典——刷题 ##Day2