C语言经典题目(二)

简介: C语言经典题目(二)

1.判断三角形类型

在这里插入图片描述
题目分析:和判断闰年那题差不多,这题我们要先判断是否能构成三角形,再来判断是那种三角形

#include <stdio.h>
int main()
{
    int a,b,c;
    while(scanf("%d %d %d",&a,&b,&c)!=EOF)
    {
        if((a+b)>c && (a+c)>b && (b+c)>a)//判断能构成三角形
        {
            if((a==b) && (a==c) && (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;
}

2. 输出99乘法表

在这里插入图片描述
题目分析:99乘法表的格式是x*x=y的格式,所以我们要嵌套两个循环

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

3.反向输出一个四位数

在这里插入图片描述
题目分析:取余可以得到最后一位数字,再将数字除10再取余可以得到倒数第二位的数字,以此类推

#include <stdio.h>
int main()
{
    int n;
    scanf("%d",&n);
    while(n!=0)
    {
        printf("%d",n%10);
        n=n/10;
    }
    return 0;
}

4.计算最高分与最低分的分差

在这里插入图片描述
题目分析:和第二题的解法三类似

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

5.求 1~2019中共有多少个数包含数字9

题目分析:对个、十、百位数字取余,若取余结果为9,就是包含数字9的数

#include<stdio.h>
int main() 
{
    int n = 0, i = 0;
    for (i = 0;i < 2019;i++) 
    {
        if (i % 10 == 9 || (i / 10) % 10 == 9 || (i / 100) % 10 == 9)
        {
            n++;
        }
    }
    printf("%d", n);
}

6.为她偷偷的写一棵圣诞树吧~ ~

在这里插入图片描述

思路:
将圣诞树的树叶部分分成三层,第一层打印一个星第二层打印两个星第三层打印三个星
再设置打印的间距,及应该打印的目标行数。

#include <stdio.h>
int main() 
{
    int n;
    printf("请输入圣诞树的层数:");
    scanf("%d", &n);
    for (int i = 1; i <= 3 * n; i++) 
    { //圣诞树头
        if (i % 3 == 1)
        { //第一层一个*的
            for (int j = i; j < 3 * n; j++)
                printf(" ");
            for (int k = i; k > 0; k -= 3)
            {
                printf("*     ");
                system("color 1");
            }
            printf("\n");
        }
        else if (i % 3 == 2) {//第二层两个*的
            for (int j = i; j < 3 * n; j++)
                printf(" ");
            for (int k = i; k > 0; k -= 3)
            {
                printf("* *   ");
                system("color 2");
            }
            printf("\n");
        }
        else if (i % 3 == 0) {//第三层三个*的
            for (int j = i; j < 3 * n; j++)
                printf(" ");
            for (int k = i; k > 0; k -= 3)
            {
                printf("* * * ");
                system("color 3");
            }
            printf("\n");
        }
        }
        for (int i = 1; i <= n; i++) {//树干,n个1*的
            for (int i = 1; i < 3 * n; i++)
                printf(" ");
            printf("*\n");
            system("color 0c");
        }
    return 0;
}
相关文章
|
6月前
|
C语言
C语言:数组和指针笔试题解析(包括一些容易混淆的指针题目)
C语言:数组和指针笔试题解析(包括一些容易混淆的指针题目)
|
6月前
|
存储 C语言 C++
C语言------------指针笔试题目深度剖析
C语言------------指针笔试题目深度剖析
47 1
|
11月前
2.C语言题目---字符串左旋
2.C语言题目---字符串左旋
77 1
|
1月前
|
程序员 C语言
【C语言】LeetCode(力扣)上经典题目
【C语言】LeetCode(力扣)上经典题目
|
11月前
|
存储
1.C语言题目---指针类(基础)
1.C语言题目---指针类(基础)
60 1
|
3月前
|
存储 编译器 C语言
【C语言】指针练习题目
【C语言】指针练习题目
|
5月前
|
测试技术 C语言
数据结构学习记录——树习题—Tree Traversals Again(题目描述、输入输出示例、解题思路、解题方法C语言、解析)
数据结构学习记录——树习题—Tree Traversals Again(题目描述、输入输出示例、解题思路、解题方法C语言、解析)
46 1
|
6月前
|
算法 编译器 API
C语言易混淆、简单算法、结构体题目练习、常见关键字总结-1
C语言易混淆、简单算法、结构体题目练习、常见关键字总结
|
5月前
|
C语言
c语言循环题目
c语言循环题目
|
6月前
|
C语言
PTA 浙大版《C语言程序设计(第3版)》题目集 习题8-4 报数 (20分)
PTA 浙大版《C语言程序设计(第3版)》题目集 习题8-4 报数 (20分)