首页 > 其他分享 >C语言经典例题(18) --- 判断字母、三角形判断、衡量人体胖瘦程度、翻转金字塔图案、平均身高

C语言经典例题(18) --- 判断字母、三角形判断、衡量人体胖瘦程度、翻转金字塔图案、平均身高

时间:2024-04-04 22:29:06浏览次数:18  
标签:输出 triangle int 18 BMI C语言 printf 例题 输入

1.判断是不是字母

题目描述:

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

输入描述:

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

输出描述:

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

输入:

A

6

输出:

A is an alphabet.

6 is not an alphabet.

参考代码:

#include <stdio.h>

int main()
{
    int ch = 0;
    while ((ch = getchar()) != EOF)
    {
        if (isalpha(ch))
        {
            printf("%c is an alphabet.\n", ch);
        }
        else
        {
            printf("%c is not an alphabet.\n", ch);
        }
        getchar();
    }
    return 0;
}
2.三角形判断

题目描述:

KK想知道已经给出的三条边a,b,c能否构成三角形,如果能构成三角形,判断三角形的类型(等边三角形、等腰三角形或普通三角形)。

输入描述:

题目有多组输入数据,每一行输入三个a,b,c(0<a,b,c<1000),作为三角形的三个边,用空格分隔。

输出描述:

针对每组输入数据,输出占一行,如果能构成三角形,等边三角形则输出“Equilateral triangle!”,等腰三角形则输出“Isosceles triangle!”,其余的三角形则输出“Ordinary triangle!”,反之输出“Not a triangle!”。

输入:

2 3 2

3 3 3

输出:

Isosceles triangle!

Equilateral triangle!

参考代码:

#include <stdio.h>

int main()
{
    int a = 0;
    int b = 0;
    int c = 0;
    while (scanf("%d %d %d", &a, &b, &c) != EOF)
    {
        if (a + b > c || a + c > b || c + b > a)
        {
            if (a == b && b == c)
            {
                printf("Equilateral triangle!\n");
            }
            else if ((a==b && a!= c) || (a==c && a!=b) ||(b==c  &&  b!= a))
            {
                printf("Isosceles triangle!\n");
            }
            else
            {
                printf("Ordinary triangle!\n");
            }
        }
        else
        {
                printf("Not a triangle!\n");
        }
    }
    return 0;
}
3.衡量人体胖瘦程度

题目描述:

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

BMI范围分类
BMI<18.5偏瘦(Underweight)
BMI>=18.5且BMI<=23.9正常(Normal)
BMI>23.9且BMI<=27.9过重(Overweight)
BMI>27.9肥胖(Obese)

输入描述:

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

输出描述:

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

输入:

80 170

60 170

90 160

50 185

输出:

Overweight

Normal

Obese

Underweight

参考代码:

#include <stdio.h>

int main()
{
    int h = 0;
    int w = 0;
    double bmi = 0.0;
    while (scanf("%d %d", &w, &h) != EOF)
    {
        bmi = w / ((h / 100.0) * (h / 100.0));
        if (bmi < 18.9)
            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;
}
4.翻转金字塔图案

题目描述:

KK学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的翻转金字塔图案。

输入描述:

多组输入,一个整数(2~20),表示翻转金字塔边的长度,即“*”的数量,也表示输出行数。

输出描述:

针对每行输入,输出用“”组成的金字塔,每个“”后面有一个空格。

输入:

5

输出:

* * * * * 
 * * * *
  * * * 
   * * 
    *

参考代码:

#include <stdio.h>

int main()
{
    int n = 0;
    while (~scanf("%d", &n))
    {
        int i = 0;
        for (i = 0; i < n; i++)
        {
            int j = 0;
            for (j = 0; j < i; j++)
            {
                printf(" ");
            }

            for (j = 0; j < n-i; j++)
            {
                printf("* ");
            }
            printf("\n");
        }
    }
    return 0;
}
5.平均身高

题目描述:

从键盘输入5个人的身高(米),求他们的平均身高(米)。

输入描述:

一行,连续输入5个身高(范围0.00~2.00),用空格分隔。

输出描述:

一行,输出平均身高,保留两位小数。

输入:

1.68 1.75 1.82 1.60 1.92

输出:

1.75

参考代码:

#include <stdio.h>

int main()
{
    float score = 0.0;
    float sum = 0.0;
    int i = 0;
    for (i = 0; i < 5; i++)
    {
        scanf("%f", &score);
        sum += score;
    }
    printf("%.2f\n", sum/5.0);
    return 0;
}

标签:输出,triangle,int,18,BMI,C语言,printf,例题,输入
From: https://blog.csdn.net/zhongziqia/article/details/137384474

相关文章

  • 【放假第1天】采购季倒计时 2G 50/年,4G 618/3年 云服务器选购攻略 阿里云 腾讯云 京
    ​更新日期:4月4日(阿里云价格回调,京东云采购季持续进行)《最新对比表》已更新在文章头部—腾讯云文档,文章具有时效性,请以腾讯文档为准!https://docs.qq.com/document/DV0RCS0lGeHdMTFFV?tab=000003当前活动:采购季,各厂商活动已更新,适用于博客建站(2-4G)、小型游戏(4-8G)、大型游戏......
  • 考研数学1800还是660还是880?
    24考完,大家都发现,没有一本习题册,覆盖了考试的所有知识点。主流的模拟卷,都没有达到24卷的难度。这就意味着:一本习题册不够了!刷主流模拟卷不够了!这会需要整个考研复习的安排,作一个很大的调整。25考研的备考形势,势必跟以前不一样了。如果你还在看24以前的学长规划,它就可能......
  • 16.C语言错题整理
    一些C语言错题//求n的阶乘intsum=1;intn;printf("请输入n的值:");scanf("%d",&n);for(intj=1;j<n+1;++j){sum*=j;}printf("%d\n",sum);inthee=0;intb=1;for(......
  • CF1896H2
    看不懂的题首先考虑\([a_i\neqb_i]=-2a_ib_i+a_i+b_i\),所以:\[f(a,b)=\suma_i+\sumb_i-2\suma_ib_i=N-2\suma_ib_i\]而:\[\sum_{b'}f(a,b')=N^2-2\sum_{b'}\sum_{i=0}^{N-1}a_ib_i\\=N^2-2\sum_{i=0}^{N-1}a_i\sum_{b'}b_i=N^2-2\t......
  • 软件工程日报018
     第18天第二天第三天第四天第五天所花时间(包括上课) 6h    代码量(行) 900    博客园(篇) 2    所学知识 ACGit    ......
  • DFS 全排列问题 C语言代码
    深度优先搜索(DFS)是一种遍历算法,尽可能深地向子树中的结点搜索,直到达到一定的深度,再回溯到上层的结点,继续搜索未被访问的结点。全排列问题给定4个数1234,求他们所有可能的排列结果。代码#include<stdio.h>voiddfs(intx);inti;inta[4];intresult[4];/......
  • C语言 | Leetcode C语言题解之第8题字符串转换整数atoi
    题目:题解:intmyAtoi(char*s){inti=0;intout=0;intpol=1;intlen=strlen(s);if(len==0)return0;while(s[i]=='')i++;//删除空格if(s[i]=='-'){//判断正负pol=-1;i++;}else......
  • 基本线段树以及相关例题
    1.线段树的概念线段树是一种二叉树,也就是对于一个线段,我们会用一个二叉树来表示。这个其实就是一个线段树,我们会将其每次从中间分开,其左孩子就是左边的集合的和,其右孩子就是右边集合的和;我们可以用一个结构体tree去表示线段树的结点,tree.L代表线段树左边界,tree.R代表线段......
  • c语言中关于字符数组赋值问题
    一维数组代码#include<iostream>#include<cstring>#include<algorithm>usingnamespacestd;constintN=1010;charstr[N];charst[N];chars1[N];chars2[N];/*abcdeabcdeabcdeabcde*/intmain(){ scanf("%s",&str+1); ......
  • c语言:模拟字符串拷贝功能(strcpy),面试题
    面试题:优化中的优化(10分满分)字符串拷贝:是将一个字符串的内容复制到另一个字符串中的操作。运用函数模拟字符串拷贝:(5分)模拟字符串拷贝#include<stdio.h>voidmy_strcpy(char*dest,char*str){ while(*str!='\0') { *dest=*str; str++; dest++; } *dest......