第八次实验作业

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

#include<stdio.h>
#define N 5
int main()
{
    int score[N],i,sum,max,min,grade,n=0,index1,index2;
    double average;
    for(i=0;i<N;i++)
    {
        printf("请输入学生的成绩:\n");
        scanf("%d",&score[i]);
    }
    sum=0;
    for(i=0;i<N;i++)
    {
        sum+=score[i];
    }
    average=(double)sum/N;
    printf("average=%.2lf\n",average);
    max=score[0];
    index1=0;
    for(i=0;i<N;i++)
    {
        if(score[i]>max)
        {
            index1=i;
            max=score[i];

        }
    }
    printf("最大值为%d,是第%d个学生\n",max,index1+1);
    min=score[0];
    index2=0;
    for(i=0;i<N;i++)
    {
        if(score[i]<min)
        {
            min=score[i];
            index2=i;

        }
    }
    printf("最小值为%d,是第%d个学生\n",min,index2+1);
    printf("输入你想找的同学的成绩:\n");
    scanf("%d",&grade);
    for(i=0;i<N;i++)
    {
        if(grade==score[i])
        {
            printf("找到,是第%d个学生\n",i+1);
            n++;
        }
    }
    printf("共有%d个学生",n);
    return 0;
}

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

#include<stdio.h>
int main()
{
    int i,n,p;
    int array[11]={0,11,22,33,55,66,77,88,99,100};
    for(i=0;i<11;i++)
    {
        printf("%d ",array[i]);
    }
    printf("请输入一个正整数整数:\n");
    scanf("%d",&n);
    for(i=0;i<11;i++)
    {
        if(n>array[i]&&n<array[i+1])
        {
            for(p=10;p>i;p--)
            {
                array[p]=array[p-1];
            }
            array[i+1]=n;
        }
        else if(n>array[9])
        {
            array[10]=n;
        }
        else if(n<array[0])
        {
            for(p=10;p>=0;p--)
            {
                array[p]=array[p-1];
            }
            array[0]=n;
        }
        printf("%d ",array[i]);
    }
    return 0;
}

3.用数组实现火柴棍等式

#include<stdio.h>
int main()
{
    int x,y,sum;
    int match[10]={6,2,5,5,4,5,6,3,7,6};
    for(x=0;x<=9;x++)
    for(y=0;y<=9;y++)
    {
        sum=x+y;
        if(sum>9)
        {
            break;
        }
        if(match[x]+match[y]+match[sum]==12)
        {
            printf("%d+%d=%d\n",x,y,sum);
        }
    }
    return 0;
}

知识点总结:

1.数组的特点

(1)数组中的每一个元素都属于同一种数据类型。

(2)数组一旦创建,不能改变大小。

(3)数组中的元素在内存中是连续依次排列的。

2.一维数组的引用

(1)数组必须先定义,后使用。

(2)只能逐个引用数组元素,不能一次引用整个数组

(3)每个数组元素是一个数组类型的变量。

3.一维数组的赋值

(1)数组不初始化,其元素值为随机数。

(2)只给部分数组元素赋初值,则其后的元素被初始化为0

(3)当全部数组元素赋初值时,可不指定数组长度

实验总结(实验中遇到的问题及解决方法):

1.数组变量本身(数组名)不能被赋值。

2.数组必须先定义,后使用。

3.数组名【下标】下标从0开始。

4.数组中的每一个元素都属于同一种数据类型

5.数组一旦创建,不能改变大小

时间: 2024-10-13 15:59:27

第八次实验作业的相关文章

20135302魏静静——linux课程第八周实验及总结

linux课程第八周实验及总结 实验及学习总结 1. 进程切换在内核中的实现 linux中进程切换是很常见的一个操作,而这个操作是在内核中实现的. 实现的时机有以下三个时机: 中断处理过程(包括时钟中断.I/O中断.系统调用和异常)中,直接调用schedule(),或者返回用户态时根据need_resched标记调用schedule(): 内核线程可以直接调用schedule()进行进程切换,也可以在中断处理过程中进行调度,也就是说内核线程作为一类的特殊的进程可以主动调度,也可以被动调度: 用户

Linux内核实验作业四

实验作业:使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用 20135313吴子怡.北京电子科技学院 [第一部分]使用库函数API来获取用户标识号.库函数为getuid() 代码如下: 编译运行之后,将用户id号1000打印输出在屏幕上. [第二部分]使用汇编方式触发系统调用来获取用户标识号.库函数依旧为getuid() 代码如下: 可以看出,打印出来的用户id和之前的一样都是1000. [第三部分]系统调用的工作机制学习总结 我认为系统调用的工作机制就是系统调用经过封装包装成为

实验作业:使gdb跟踪分析一个系统调用内核函数

实验作业:使gdb跟踪分析一个系统调用内核函数(我使用的是getuid) 20135313吴子怡.北京电子科技学院 [第一部分] 根据视频演示的步骤,先做第一部分,步骤如下 ①更新menu代码到最新版 ②在代码中加入C函数.汇编函数 ③在main函数中加入makeconfig ④make rootfs ⑤可以看到qemu中增加了我们先前添加的命令: ⑥分别执行新增的命令 [第二部分]gdb跟踪分析一个系统调用内核函数 ①进入gdb调试 ②设置断点,继续执行: ③相对应的得到这样的结果: ④查看我

lamp实验作业详细过程

1.请描述一次完整的http请求处理过程:由客户端发起请求给服务端,服务端接收到请求后解析http报文内容,把处理完成后的内容反馈给客户端,再将每次请求记录在日志中.2.httpd所支持的处理模型有哪些,他们的分别使用于哪些环境.prefork:多进程模型,一个进程响应一个请求:worker:多进程多线程模型,一个线程响应一个请求:event:事件驱动模型,一个进程响应n个请求:3.源码编译安装LAMP环境(基于wordpress程序),并写出详细的安装.配置.测试过程.一.编译安装httpd2

第八次课后作业多态的一些问题

第一题: 结果: 结果分析: 当子类与父类拥有一样的方法,并且让一个父类变量引用一个子类对象时,到底调用哪个方法,由对象自己的"真实"类型所决定,这就是说:对象是子类型的,它就调用子类型的方法,是父类型的,它就调用父类型的方法. 这个特性实际上就是面向对象"多态"特性的具体表现. 如果子类与父类有相同的字段,则子类中的字段会代替或隐藏父类的字段,子类方法中访问的是子类中的字段(而不是父类中的字段).如果子类方法确实想访问父类中被隐藏的同名字段,可以用super关键字

第七次实验作业

第一个作业 #include <stdio.h>#include <math.h>int sign(int x);int even(int n);int prime(int m);int countdigit(int number,int digit);int is(int number);int main(){ int choice=0; int n; int x,y,m,i,sum=0; int digit,z,c; do{ printf("*************

计科1111-1114班第一次实验作业(NPC问题——回溯算法、聚类分析)

实验课安排 地点: 科技楼423 时间:  计科3-4班---15周周一上午.周二下午 计科1-2班---15周周一下午.周二晚上(晚上时间从18:30-21:10) 请各班学委在实验课前飞信通知大家. 实验内容 (1)八皇后及N皇后问题 八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例.该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8X8格的国际象棋上摆放八个皇后,使其不能互相攻击,即随意两个皇后都不能处于同一行.同一列或同一斜线上.问有多少种摆法. 高斯觉得有76种方案.1

201771010129 王颖奇《面向对象程序设计Java》第十八周实验总结

实验十八  总复习 实验时间 2018-12-30 1.实验目的与要求 (1) 综合掌握java基本程序结构: (2) 综合掌握java面向对象程序设计特点: (3) 综合掌握java GUI 程序设计结构: (4) 综合掌握java多线程编程模型: (5) 综合编程练习. 2.实验内容和步骤 任务1:填写课程课后调查问卷,网址:https://www.wjx.cn/jq/33108969.aspx. 任务2:综合编程练习 练习1:设计一个用户信息采集程序,要求如下: (1) 用户信息输入界面如

第九次实验+第八次实验

实验九:异常的抛出.捕获并处理 实验程序 import java.util.Scanner; public class Point {static int x;static int y;Point(int x,int y){Point.x=x;Point.y=y;}@SuppressWarnings("serial")public static void main(String[] args) {try {@SuppressWarnings({ "unused",