第一次总结

一、本周题目,鸡兔同笼,找最小,统计个数,最大与最小
1.鸡兔同笼  :写代码时给计算机的指令应该是具体算式,计算机在运行代码时是无法计算方程的
错误代码

#include<stdio.h>
int main()
{
    int a,b,x,y;
    scanf("%d %d",&a,&b);
    a=x+y;
    b=2*x+4*y;
    printf("%d %d",x,y);
    return 0;
}

运行后就发现无法运行,后面我又换成了小学的算式就解决了代码如下
 

#include<stdio.h>
int main()
{
    int a,b,x,y;
    scanf("%d %d",&a,&b);
    y=(b-2*a)/2;
    x=a-y;
    printf("%d %d",x,y);
    return 0;
}

2.找最小:

输入10个数,找出其中绝对值最小的数,将它和最后一个数交换,然后输出这10个

  1. 在 main 函数中,定义了四个变量:acn 和 min。其中,a 是一个整型数组,用于存储用户输入的10个整数;c 也是一个整型数组,用于存储 a 数组中每个元素的绝对值;n 是一个整型变量,用于记录绝对值最小的元素的下标;min 是一个整型变量,用于记录当前的最小绝对值。

  2. 使用 for 循环,从 i=0 开始,依次读取用户输入的10个整数,并存储到 a 数组中。同时,使用条件运算符 ? : 判断 a[i] 的值是否大于等于0,如果是,则将 a[i] 存储到 c[i] 中;如果不是,则将 -a[i] 存储到 c[i] 中。这样,c 数组中存储的就是 a 数组中每个元素的绝对值

  3. 完成循环后,通过交换数组元素的方式将 a[n] 的值与 a[9] 的值进行交换。

  4. 最后,使用另一个 for 循环,遍历数组 a,依次输出排好序的数组元素。

#include <stdio.h>

int main() {
    int a[10], c[10], n;
    int min = 10000;

    for (int i = 0; i < 10; i++) {
        scanf("%d", &a[i]);
        c[i] = (a[i] >= 0) ? a[i] : -a[i]; 
        if (c[i] < min) {
            min = c[i];
            n = i;
        }
    }

    int X = a[n];
    a[n] = a[9];
    a[9] = X;

    for (int i = 0; i < 10; i++) {
        printf("%d ", a[i]);
    }

    return 0;
}

3.统计个数
编写程序,输入一批学生的成绩,遇0或负数则输入结束,要求统计并输出优秀(大于85)、通过(60~84)和不及格(小于60)的学生人数。

  1. 首先定义四个变量:abc 和 d。其中,a 用于存储用户输入的整数;bc 和 d 用于统计对应区间的个数。

  2. 使用一个无限循环 for(int i=0;;i++),循环变量 i 从0开始递增。

  3. 在循环中,使用 scanf 函数读取用户输入的整数,并将其存储到变量 a 中。

  4. 接下来,通过一系列的条件判断语句,对输入的整数进行分类统计。如果输入的整数小于等于0,则跳出循环;如果输入的整数大于85,则将变量 b 的值加1;如果输入的整数在60到84之间(包括60和84),则将变量 c 的值加1;如果输入的整数小于60,则将变量 d 的值加1。

  5. 循环结束后,使用 printf 函数输出统计结果。格式化字符串中的 %d 分别对应着变量 bc 和 d 的值,分别表示大于等于85的个数、在60到84之间的个数以及小于60的个数。

#include<stdio.h>
int main()
{
    int a,b=0,c=0,d=0;
    for(int i=0;;i++)
    {
        scanf("%d",&a);
        if(a<=0)break;
        if(a>85)b++;
        if(a>=60&&a<=84)c++;
        if(a<60)d++;
    }
    printf(">=85:%d\n60-84:%d\n<60:%d\n",b,c,d);
    return 0;
}

4.最大与最小

在float类型一维数组中查找最大值、最小值;

  1. 定义一些变量和常量。N 表示数组 a 的最大长度;INF 表示一个非常大的数;n 和 i 都是整型变量,用于循环和记录输入的个数;a 用于存储输入的浮点数;maxx 和 minn 用于记录最大值和最小值。

  2. 使用 scanf 函数读取用户输入的整数,并将其存储到变量 n 中。

  3. 接下来,使用 for 循环遍历 n 次,每次循环通过 scanf 函数读取一个浮点数,并将其存储到数组 a 的相应位置。同时,通过比较当前输入的浮点数和 maxxminn 的值,更新 maxx 和 minn 的值,以找到最大值和最小值。

  4. 循环结束后,使用 printf 函数输出最大值和最小值。格式化字符串中的 %.2f 表示输出浮点数时保留两位小数。

#include<stdio.h>
#include<math.h>
int main()
{
    int N=10000;
    float INF=0x3f3f3f;
    int n,i;
    float a[N];
    float maxx=-INF,minn=INF;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%f",&a[i]);
        if(maxx<a[i]) maxx=a[i];
        if(minn>a[i]) minn=a[i];
    }
    printf("%.2f %.2f",maxx,minn);
    return 0;

}


二、研究学习了C语言程序的结构
1.一个程序是由一个或者源程序或文件组成。
2.C语言程序的主要组成部分是函数,而函数包括两个部分:函数首部和函数体
3.一个程序总是从main函数开始执行的,而且在程序中必定有且只有一个main函数
4.程序中要求计算机完成的操作是由函数中的C语言语句完成的。
5.在每个数据声明中和语句的最后一行都必须要有一个分号。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值