作业(八)

本文通过四个具体的实验问题,展示了C语言中数组的应用,包括计算学生成绩的平均分、最高分和最低分,向有序数组中插入元素,解决火柴棍等式问题,以及统计输入数字中各数字出现的次数。

这不是占坑,这不是占坑,这不是占坑,重要的事情说三遍

实验问题:输入若干名学生的成绩(输入人数或用负数结束均可),求其平均分,最高分和最低分,并指出最高分和最低分的学生(给出下标即可),输入一个成绩,说明是第几个学生的成绩。

实验代码:

#include<stdio.h>
#define N 100 
int main ()
{
    int grade[N],sum=0,i,n,max,min,inder1,inder2,x,y=1;
    double average;  
    printf("请输入学生的数量。\n");
    scanf("%d",&n);  
    printf("请输入考试成绩:\n");
    for(i=0;i<n;i++)        
    {
        scanf("%d",&grade[i]);
        sum=sum+grade[i];
    }
    average=(double)sum/n;                    
    printf("平均分为:%.2lf\n",average);
    min=grade[0];
    max=grade[0];
    for(i=0;i<n;i++)
    {
        if(grade[i]>max)
        max=grade[i];
        if(grade[i]<min)
        min=grade[i];
    }
    for(i=0;i<N;i++)
    {
        if(grade[i]==max)
        {
            inder1=i+1;
            printf("最高分是%d,是第%d名同学.\n",max,inder1);
        }
        if(grade[i]==min)
        {
            inder2=i+1;
            printf("最低分是%d,是第%d名同学.\n",min,inder2);
        } 
    } 
    printf("请输入您所查询学生的成绩:\n"); 
    scanf("%d",&x); 
    for(i=0;i<n;i++) 
    { 
        if(grade[i]==x) 
        { 
            i=i+1; 
       y=0; printf("你所查询的学生是第%d名。\n",i); } } if(y==1) { printf("你所查询的学生不存在。\n",i); } return 0; }

 

实验截图:

 

 

实验问题:现有一个有序正整数数组(从小到大排序),输入一个数,插入到数组中,要求插入后的数组仍然有序。对插入到最前、最后、中间位置三种情况进行验证。

实验代码:

#include<stdio.h>
#include<stdlib.h>
#define N 11
int main()
{
    int sum[N]={1,3,5,7,9,11,13,15,17,19},x,i,y=10,c;
    printf("请输入插入其中的数字:\n");
    scanf("%d",&x);
    if(x<=0)
    {
        printf("输入错误。请输入正整数。\n");
        exit(0); 
    }
    for(i=0;i<N-1;i++)
    {
        if(sum[i]>=x)
        {
            y=i;
            break;
        }
    }
    if(y<10)
    {
         for(i=N-1;i>y;i--)
        {
               sum[i]=sum[i-1];
        }
     }
       sum[y]=x;
    for(i=0;i<=N-1;i++)
    {
        printf("%d ",sum[i]);
    } 
    return 0;
}

 

实验截图:

 


 

 

实验问题:用数组实现火柴棍等式

实验代码:

#include<stdlib.h>
int main()
{
    int match[10]={6,2,5,5,4,5,6,3,7,6};
    int x,y,a,b,c;
    printf("请输入火柴棍数目:\n");
    scanf("%d",&x);
    if(x>25||x<7)
    {
        printf("您输入的数目有错误。\n");
        exit(0);
    } 
    y=x-4;
    for(a=0;a<=9;a++)
        for(b=0;b<=9;b++)
        {
            c=a+b;
                if(c>9)
            break;
            if(match[a]+match[b]+match[c]==y)
               {
            printf("%d+%d=%d\n",a,b,c);
            }
           }
    return 0;
}

 

实验截图:

 

 

附加题

实验题目:

输入一行任意长的数字,用数组元素作为计数器统计每个数字出现的次数。用下标为0的元素统计0出现的次数,用下标为1的元素统计1出现的次数…

实验代码:

#include<stdio.h>
int main()
{
    int sums[10]={0},i,n=0;
    char sum;
    printf("输入\n");
    while(sum!='\n')
    {
        if(sum<48||sum>57)
        {
            n++;
        }
        scanf("%c",&sum);
        sums[sum-48]++; 
    }
    for(i=0;i<10;i++)
    {
        printf("数字%d出现了%d次\n",i,sums[i]);
    } 
    n=n-1; 
    printf("其他字符出现了%d次\n",n);
    return 0;
}

 

实验截图:

 

知识点总结

1.认知了一维数组的定义,以及一维数组元素的引用。
2.学习如何对一维数组赋值的方法:动态赋值,逐个赋值,定义赋值 。
3.利用数组再次优化函数,使函数更加便捷。
4.运用define来确定数组的元素个数。 

实验总结

1.记住数组里的数是最大的元素个数。

2.数组的元素是从0开始计数。

3.若不填满数组则剩下元素值为0,而超过数组数则会使程序错误,甚至瘫痪。

转载于:https://www.cnblogs.com/wgy774553994/p/6086874.html

### 关于42大作业8 IT课程的内容分析 在讨论“42大作业8 IT课程”的具体内容时,可以从两个方面来理解这一主题:一方面是关于HTML和CSS布局的基础应用[^1];另一方面则是机器学习相关的项目实践[^2]。 #### HTML与CSS基础应用 对于初学者而言,掌握HTML和CSS是构建静态网站的核心技能之一。通过完成类似于电影网页的设计作业,学生可以熟悉基本的标签结构以及样式表的应用方式。例如,在实现一个简单的电影推荐页面时,通常会涉及如下代码片段: ```html <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>我的电影推荐</title> <style> body { font-family: Arial, sans-serif; background-color: #f0f0f0; } .movie-card { border: 1px solid #ccc; padding: 15px; margin-bottom: 10px; background-color: white; } </style> </head> <body> <div class="movie-card"> <h2>肖申克的救赎</h2> <p>这是一部经典影片。</p> </div> </body> </html> ``` 上述代码展示了如何利用HTML定义文档结构并借助CSS美化视觉效果。 #### 机器学习方向的大作业 针对更高级别的IT课程,“机器学习”成为了一个重要的教学模块。这类课程往往鼓励学生选取实际问题作为切入点,运用所学算法解决具体挑战。比如,可以选择基于监督学习的方法预测票房收入或者评估用户对某部电影的兴趣程度。以下是Python中使用Scikit-Learn库训练线性回归模型的一个例子: ```python from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression import numpy as np # 构造虚拟数据集 X = np.random.rand(100, 1) * 100 # 特征变量(如预算) y = X.squeeze() * 3 + np.random.randn(100) * 10 # 目标变量(如收益) # 划分训练集与测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2) # 初始化并拟合模型 model = LinearRegression() model.fit(X_train, y_train) print(f'系数: {model.coef_}, 截距: {model.intercept_}') ``` 这段脚本演示了如何建立一个初步的关系模型用于数据分析。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值