问题 A: C语言实验——计算A+B(顺序结构)
 思路讲解:
 
这个直接计算a+b就好,没有什么困难的,用来熟悉环境最适合不过
 代码实现:
 
#include<stdio.h>
int main()
{
    int a,b;
    scanf("%d %d",&a,&b);
    printf("%d\n",a+b);
    return 0;
}
 
问题 B: 电子欢迎器
思路讲解:
这个就是学会使用字符数组,学会字符数组的输入输出,注意scanf这里不用加&,这个单独记住就好,然后就是空格不要去数,直接复制粘贴就好,然后注意换行,不然就格式错误了。
代码实现:
#include<stdio.h>
int main()
{
    char name[20];
    char howetown[20];
    scanf("%s",name);
    scanf("%s",howetown);
    printf("******************************************\n");
    printf("             Welcome\n");
    printf("             %s(%s)\n",name,howetown);
    printf("******************************************\n");
    return 0;
}
 
问题 C: 输入两个整数,进行四则运算并输出结果
 这道题主要是数据比较友好,保证了a一定能够整除b,否则的话就要去考虑a/b为小数的情况 ,到时候就需要使用浮点数了,要不两个int做除法遵循向下取整的原则,
https://blog.csdn.net/weixin_47712251/article/details/130675475
 给你们找了一个博客,里面介绍了除法,包括整数的和浮点数的
 我再自己额外说一点吧
  
C语言中的除法操作是通过运算符
/来实现的。根据被除数和除数的类型,C语言中的除法可以分为以下几种情况:1. 整数除法
- 定义:当被除数和除数都是整数时,C语言执行整数除法。
 - 特点:结果会是一个整数,任何小数部分会被截断(向下取整)。
 示例:
#include <stdio.h> int main() { int a = 10; int b = 3; int result = a / b; // result将是3,忽略了小数部分 printf("整数除法: %d / %d = %d\n", a, b, result); return 0; }2. 浮点除法
- 定义:当被除数或除数是浮点数(
 float或double类型)时,C语言执行浮点除法。- 特点:结果将是一个浮点数,可以包含小数部分。
 示例:
#include <stdio.h> int main() { float a = 10.0; float b = 3.0; float result = a / b; // result将是3.333333 printf("浮点除法: %.2f / %.2f = %.2f\n", a, b, result); return 0; }3. 整数与浮点数的除法
- 定义:如果一个整数被一个浮点数除,结果将是浮点数。
 示例:
#include <stdio.h> int main() { int a = 10; float b = 3.0; float result = a / b; // result将是3.333333 printf("整数与浮点数的除法: %d / %.2f = %.2f\n", a, b, result); return 0; }4. 除数为零的情况
- 注意:在进行除法运算时,必须确保除数不为零。如果除数为零,程序会导致运行时错误,通常会引发一个“除以零”错误。
 示例:
#include <stdio.h> int main() { int a = 10; int b = 0; if (b != 0) { int result = a / b; printf("结果: %d / %d = %d\n", a, b, result); } else { printf("错误: 除数不能为零!\n"); } return 0; }总结
- C语言支持整数除法和浮点除法。
 - 在进行除法运算时,注意检查除数是否为零,以避免程序崩溃。
 - 根据不同的数据类型,结果的类型也会有所不同。
 通过理解这些基本概念,可以在C语言中有效地进行除法操作。
C题代码:
#include<stdio.h>
int main(){
    int a,b;
    scanf("%d %d",&a,&b);
    printf("%d\n",a+b);
    printf("%d\n",a-b);
    printf("%d\n",a*b);
    printf("%d",a/b);
    return 0;
}
 
 问题 D: 三个整数和、积与平均值
  
 
思路讲解:
这道题的计算平均数就利用到了我刚才C题中所介绍的除法的应用,其他再没有什么了,
其实关于这个转化为浮点数的方法有很多种,
 在这里我介绍一下类型转化吧
1.
double a = b;
- 类型:隐式类型转换(或自动类型转换)
 - 描述:在这一行代码中,变量
 b的值被隐式转换为double类型,并赋值给a。这意味着如果b是一个其他类型(如int或float),编译器会自动将其转换为double类型,而无需显式地指定转换。这个过程通常是安全的,因为double类型的范围和精度比其他类型要大。示例
#include <stdio.h> int main() { int b = 5; // b 是一个整数 double a = b; // 隐式转换为 double printf("%f\n", a); // 输出: 5.000000 return 0; }2.
(double) b
- 类型:显式类型转换(或强制类型转换)
 - 描述:在这一行代码中,
 (double) b表示将b强制转换为double类型。这里的强制类型转换是通过在变量前加上类型名称来实现的。它明确地告诉编译器将b转换为double类型,可以用于需要指定类型的上下文。示例
#include <stdio.h> #include <stdio.h> int main() { int b = 5; // b 是一个整数 double a = (double) b; // 显式转换为 double printf("%f\n", a); // 输出: 5.000000 return 0; }总结
- 隐式类型转换:
 double a = b;会自动将b转换为double类型。- 显式类型转换:
 (double) b明确要求将b转换为double类型,通常在需要特定类型的上下文中使用。在大多数情况下,隐式转换会更简洁,而显式转换则提供了更高的控制和可读性,尤其是在复杂的表达式中。
这道题还有关于浮点数的一些知识点,比如,float和double的区别,float用%f,double 使用%lf,
 %.2lf是保留小数点后两位,同学们可以去CSDN上进行自行搜索,不过也不着急,反正你们后续做题也就会了
 代码实现:
 
#include<stdio.h>
int main()
{
    int a,b,c;
    scanf("%d %d %d",&a,&b,&c);
    printf("%d %d %.2lf",a+b+c,a*b*c,(a+b+c)/3.0);//因为3.0是一个浮点数,所以整数与浮点数做除法,结果一个浮点数
    return 0;
}
 
或者是
#include<stdio.h>
int main()
{
    int a,b,c;
    scanf("%d %d %d",&a,&b,&c);
    printf("%d %d %.2lf",a+b+c,a*b*c,(double)(a+b+c)/3);
    return 0;
}
 
 
问题 E: C语言实验——圆柱体计算
 思路讲解:
 
 
这里题干说的定义,我使用了define,你们可能还没学,不过使用double PI=3.1415926也一样没什么区别
代码实现:
  
 
#include<stdio.h>
#define PI 3.1415926
int main()
{
    double r,h;
    scanf("%lf %lf",&r,&h);
    double C=2*PI*r;
    double S1=PI*r*r;
    double S2=C*h;
    double V=S1*h;
    printf("%.2lf %.2lf %.2lf %.2lf",C,S1,S2,V);
    return 0;
}
 
 
问题 F: 输出两个整数中较小的数(1)
 思路讲解
  
 
这道题题干也说了,有很多种做法,那么我就来简单介绍几种吧
 1.写条件判断语句,也就是if else 语句
 
#include<stdio.h>
int main()
{
    int a,b;
    scanf("%d %d",&a,&b);
    if(a<b)
    {
        printf("min=%d",a);
    }
    else
    {
        printf("min=%d",b);
    }
    return 0;
}
 
2.使用函数
C++中自带min函数和max函数,而C语言中没有,那么我们可以自己手写,min函数和max函数,我想函数你们肯定还没学,所以有能力的同学可以先自行研究着,如果实在理解不了,等后期你们学了函数就明白了
  
#include<stdio.h>
int min(int a,int b) //min函数,作用是返回参数a和参数b当中较小的那一个 int类型的函数
{
    if(a>b)
    {
        return b;
    }
    else
    {
        return a;
    }
}
int main()
{
    int x,y;
    scanf("%d %d",&x,&y);
    printf("min=%d\n",min(x,y));
    return 0;
}
 
 3,使用三目运算符
  
 
所谓的三目运算符,这里指的就是?:表达式,那么何为?:表达式
 三目运算符(Ternary Operator),也称为条件运算符,是一种简洁的条件判断表达式,通常用于替代简单的 if-else 语句。它的基本形式为:
  
条件 ? 表达式1 : 表达式2 
1. 基本语法
-  
条件:一个布尔表达式(返回真或假)。
 -  
表达式1:当条件为真时返回的值或表达式。
 -  
表达式2:当条件为假时返回的值或表达式。
 
2. 工作原理
三目运算符根据条件的真值来决定返回哪一个表达式的值:
-  
如果条件为真(
true),则返回表达式1。 -  
如果条件为假(
false),则返回表达式2。 
#include<stdio.h>
int main()
{
    int x,y;
    scanf("%d %d",&x,&y);
    printf("min=%d\n",x>y?y:x);
    return 0;
}
 
问题 G: 输出两个整数中较小的数(2)
  
  
 
这道题和上一道题一样的,就略过了
问题 H: 求三角形面积 
  
 
思路讲解:
  
 
预备知识的话,就是海伦公式,然后就是判断是否能构成三角形条件,这个你们都很熟,任意两边之和大于第三边,

 这里补充一下开根号的函数
 sqrt,使用这个函数之前需要引入math头文件
 代码实现:
  
 
#include<stdio.h>
#include<math.h>
int main()
{
    double a,b,c,s,area;
    scanf("%lf %lf %lf",&a,&b,&c);
    if(a+b>c && a+c>b && b+c>a)
    {
        s=(a+b+c)/2;
        area=sqrt(s*(s-a)*(s-b)*(s-c));
        printf("area=%.2lf",area);
    }
    else
    {
        printf("error input");
    }
    return 0;
}
 
问题 I: 夏令营的年龄
 思路讲解:
 
 其实就是那道求最小值的题,现在只不过是三个数,除了求最小值,还要求最大值,这道题实现的方式也很多,可以if else语句,可以使用三目运算符,可以使用遍历,函数也可以
 来吧:
  
//使用if和else语句进行判断
#include <stdio.h>
int main()
{
    int age1,age2,age3;
    scanf("%d %d %d",&age1,&age2,&age3);
    int max_age=age1;
    if(age2>max_age)
    {
        max_age=age2;
    }
    if(age3>max_age)
    {
        max_age=age3;
    }
    int min_age=age1;
    if(age2<min_age)
    {
        min_age=age2;
    }
    if(age3<min_age)
    {
        min_age=age3;
    }
    
    int diff=max_age-min_age;
    
    printf("%d",diff);
    return 0;
}
 
 
#include<stdio.h>
int main()
{
    int age1,age2,age3,max_age,min_age,diff;
    scanf("%d %d %d",&age1,&age2,&age3);
    ///寻找最大年龄
    if(age1>age2 && age1>age3)
    {
        max_age=age1;
    }
    else if(age2>age1 && age2>age3)
    {
        max_age=age2;
    }
    else
    {
        max_age=age3;
    }
    ///寻找最小年龄
    if(age1<age2 && age1<age3)
    {
        min_age=age1;
    }
    else if(age2<age1 && age2<age3)
    {
        min_age=age2;
    }
    else
    {
        min_age=age3;
    }
    diff=max_age-min_age;
    printf("%d\n",diff);
    return 0;
}
 
//三目运算符
#include<stdio.h>
int main()
{
    int age1,age2,age3;
    scanf("%d %d %d",&age1,&age2,&age3);
    int max_age=(age1>age2?age1:age2)>age3?(age1>age2?age1:age2):age3;
    int min_age=(age1<age2?age1:age2)<age3?(age1<age2?age1:age2):age3;
    int diff=max_age-min_age;
    printf("%d\n",diff);
    return 0;
}
 
//使用遍历数组来实现
#include<stdio.h>
int main()
{
    int a[4];//开数组
    //数组的下标是从0开始的,一共是3个元素,因此下标是0,1,2,a[0],a[1],a[2]
    for(int i=0;i<3;i++)
    {
        scanf("%d",&a[i]);
    }
    int Max=0; //求最大的年龄,初始化为无穷小,这里年龄最小为0
    int Min=200;//求最小的年龄,初始化为无穷大,这里年龄最大初始化为200吧
    for(int i=0;i<3;i++)
    {
        if(a[i]>Max)
        {
            Max=a[i];
        }
        if(a[i]<Min)
        {
            Min=a[i];
        }
    }
    //printf("%d\n",Max);
    //printf("%d\n",Min);
    int ans=Max-Min;
    printf("%d",ans);
    return 0;
}
 
问题 J: 展示十年的年龄
 思路讲解:
  
 
这个的话,其实就是练习使用for循环语句,只要你会了for循环,这道题没什么问题,还有很多同学出现了格式错误,大部分是忘记加换行符了
 代码实现:
 
#include<stdio.h>
int main()
{
    int age;
    scanf("%d",&age);
    printf("*****************************************\n");
    for(int i=0; i<10; i++)
    {
        printf("%d ",age+i);
    }
    printf("\n");
    for(int i=0; i<10; i++)
    {
        printf("%d ",age+i*2);
    }
    printf("\n");
    printf("*****************************************");
    return 0;
}
 








![别再使用[]来获取字典的值了,来尝试一下这些方法](https://i-blog.csdnimg.cn/direct/3bf08b76f1224be6b7bfd5be66460ab1.png)










