南京邮电大学实验报告4(数组)

南京邮电大学离散数学实验四(图论) 南京邮电大学离散数学实验四,第七章:(半)欧拉图的判定,求欧拉(回)路 阅读详情

纯纯新人,大佬捞捞。

实验题目1【见实验教材实验五的题目1】编写程序exp5_1.c,在主函数中定义一维数组int array[10],自定义以下函数:

1)输入数组元素;

2)输出数组元素;

3)求数组元素平均值;

4)输出数组元素最大值;

5)输出数组元素最小值;

6)查找某数值元素是否存在(若存在,请输出下标);

7)给数组元素排序。

要求在主函数中对各子函数进行调用和测试。

#include <stdio.h>

void input(int a[],int n)//输入函数

{

    int i;

    for (i = 0; i < n; i++)

         scanf_s("%d", &a[i]);

}

void output(int a[], int n)//输出函数

{

    int i;

    for (i = 0; i < n; i++)

         printf("%d", a[i]);

    printf("\n");

}

int max(int a[], int n)//最大值

{

    int max = 0 , i = 0;

    max = a[i];

    for (i = 0; i < n; i++)

    {

         if (a[i] >= max)

             max = a[i];

        

    }

    printf("%d", max);

    return max;

}

int min(int a[], int n)//最小值

{

    int min = 0, i = 0;

    min = a[i];

    for (i = 0; i < n; i++)

    {

         if (a[i] <= min)

             min = a[i];

    }

    printf("%d", min);

    return min;

}

int find(int a[], int n,int b)//查找

{

    int judge = 0;

    int i = 0;

    while (i < n)

    {

         if (a[i] == b)

             break;

         i++;

    }

    return i;

}

double ave(int a[],int n)//平均值

{

    int sum = 0,i;

    double ave;

    for (i = 0; i < n; i++)

         sum += a[i];

    ave = sum * 1.0 / n;

    return ave;

}

void Bubble(int a[],int n)//排序

{

    int i, j, k;

    for (i = 0; i < n - 1; i++)

    {

         for (j = n - 1; j > i; j--)

             if (a[j] < a[j - 1])

             {

                  k = a[j - 1];

                  a[j - 1] = a[j];

                  a[j] = k;

             }

    }

}

int main()

{

    int array[10] = { 0 };

    int n,judge,b=0;

    double a = 0;

    do

    {

         printf("输入个数");

         scanf_s("%d",&n);

    } while (n <= 0 || n > 10);

    printf("输入元素");

    input(array,n);

    output(array, n);

    printf("输入查找的数");

    scanf_s("%d", &b);

    judge = find(array, n, b);

    if (judge < n)

         printf("查找的数%d在里面", b);

    else

         printf("没有");

    printf("\n");

    a=ave(array, n);

    printf("平均数为%f\n", a);

    Bubble(array, n);

    output(array, n);

    return 0;

}

实验题目(2)【见实验教材实验五的题目2】:编写程序exp5_2.c,定义一个3*3的矩阵,要求实现:

  1. 读入矩阵;
  2. 输出矩阵;
  3. 矩阵转置;
  4. 输出矩阵主对角线元素之和。

所有功能均采用子函数实现。

#include <stdio.h>

#define ROW 3

#define COL 3

int input(int a[ROW][COL])//读入数组

{

    int i = 0, j = 0;

    for (i = 0; i < ROW; i++)

    {

         for (j = 0; j < COL; j++)

         {

             scanf_s("%3d", &a[i][j]);

         }

    }

    return (a[i][j]);

}

int output(int a[ROW][COL])//输出数组

{

    int i, j;

    for (i = 0; i < ROW; i++)

    {

         for (j = 0; j < COL; j++)

             printf("%3d",a[i][j]);

         printf("\n");

    }

    return 0;

}

int zhuan(int a[ROW][COL])//转置矩阵

{

    int b[ROW][COL], i, j;

    for (i = 0; i < ROW; i++)

    {

         for (j = 0; j < COL; j++)

         {

             b[i][j] = a[j][i];

             printf("%3d", b[i][j]);

         }

         printf("\n");

    }

    return a[j][i];

}

int he(int a[ROW][COL])//对角线之和

{

    int i,sum=0;

    for (i = 0; i < ROW; i++)

    {

         sum += a[i][i];

    }

    return sum;

}

int main()

{

    int array[ROW][COL] = { 0 };

    printf("请输入数字,总个数小于9\n");

    input(array);

    printf("\n");

    output(array);

    printf("\n");

    zhuan(array);

    printf("\n");

    printf("%5d",he(array));

    printf("\n");

    return 0;

}

实验题目3【见实验教材实验五的题目4】编写程序exp5_4.c,输出一个N阶螺旋方阵。如图1所示:

1

2

3

4

12

13

14

5

11

16

15

6

10

9

8

7

1  N=4 时的方阵

#include<stdio.h>

int main()

{

    int i, j, k, w = 1, n;

    int a[20][20] = { 1 };

    scanf_s("%d", &n);

    for (k = 0; k < n / 2; k++)

    {

        for (i = k; i <= n - 1 - k; i++)

            a[k][i] = w++;

        for (j = k + 1; j < n - 1 - k; j++)

            a[j][n - 1 - k] = w++;

        for (i = n - 1 - k; i > k; i--)

            a[n - 1 - k][i] = w++;

        for (j = n - 1 - k; j > k; j--)

            a[j][k] = w++;

        if (n % 2 == 1)

            a[(n - 1) / 2][(n - 1) / 2] = w;

    }

    for (i = 0; i < n; i++)

    {

        for (j = 0; j < n; j++)

            printf("%5d", a[i][j]);

        printf("\n");

    }

    return 0;

}

南京邮电大学《高级语言程序设计》实验报告 2. 在编写代码时,要注意变量的声明位置和作用域,尤其是在较旧版本的编译器中,对变量声明的要求可能更为严格。- 在最初的代码中,如果输入的数字较大,递归调用的层数可能会超过编译器的栈大小限制,导致函数栈溢出。1. 对于不同版本的编译器,特别是较旧的版本,需要了解其特定的语法和规则,以便正确地编写和调试代码。2. 如果确实需要使用递归调用,可以进一步优化递归算法,减少递归调用的层数,以降低函数栈的使用量。列出实验步骤和结果,设计与调试过程所遇到的问题,问题解决中得到的经验和体会,进一步改进的设想。 阅读详情

相关推荐

南京邮电大学《高级语言程序设计》实验报告

2、定义二维数组int array[4][4],从键盘输入整数给数组array赋值。(2)熟练掌握一维数组和二维数组的定义、初始化和数组元素的访问方法。(3)熟练掌握一般的排序算法,如冒泡排序、选择排序等等。(1)深入理解一维数组和二维数组在内存中的组织方式。(1)从键盘输入n名学生的成绩;(n由用户键盘输入)(3)找出最高分和最低分,并输出;排序(冒泡排序法和选择排序法均可),并输出。(2)计算n名学生成绩的平均分,并输出;(4)将n名学生的成绩进行。(1)数组array的。(2)数组array中。

再见长安 671

南邮 数据结构 实验四 各排序方法时间测试

使用随机数产生器产生大数据集合,运行上述各种排序算法,使用系统时钟测量各个算法所需的实际时间,并分析程序的运行结果。(常见内排序算法实际排序所需时间测试及比较)

南京邮电大学实验报告

南京邮电大学2015年电子科学与技术学院软件设计周完整实验报告

南京邮电大学C语言实验报告

实验四:一维与二维数组实验 实验题目(1)【见实验教材实验五的题目1】:编写程序exp5_1.c,在主函数中定义一维数组int array[10],自定义以下函数:输入数组元素,输出数组元素、求数组元素平均值、输出数组元素最大值、输出数组元素最小值、查找某数值元素是否存在(若存在,请输出下标)、给数组元素排序,要求在主函数中对各子函数进行调用和测试。 实验解答: 写出完整的源程序代码并做适当注释: #include<stdio.h> #define N 10 /*数组输出函数*/ v.

m0_54848805的博客 1万+

C语言:输入数组元素,输出数组元素、求数组元素平均值、输出数组元素最大值、输出数组元素最小值、查找某数值元素是否存在(若存在,请输出下标)、给数组元素排序

在主函数中定义一维数组int array[10],自定义以下函数:输入数组元素,输出数组元素、求数组元素平均值、输出数组元素最大值、输出数组元素最小值、查找某数值元素是否存在(若存在,请输出下标)、给数组元素排序,要求在主函数中对各子函数进行调用和测试。 #include<stdio.h> void shuru(int a[],int n)/*输入数组*/ { int i; for (i = 0; i < n; i++) scanf_s("%d", &a[i]); pri

aahuachenyu的博客 9743

南京邮电大学C语言实验报告4v2(仅供参考)

实验四 一维与二维数组实验 一、 实验目的和要求 (1)掌握一维数组的定义与初始化,会正确访问数组元素,并利用循环对元素成批访问。 (2)掌握二维数组的定义与初始化,会利用双层循环对元素访问,实现一些基本算法。 (3)会用一维数组作为参数实现特定功能的函数,能正确实现一维数组中的一些经典算法。 二、实验环境(实验设备) 硬件: 微型计算机 软件: Windows 操作系统、Microsoft Visual Studio 2010 实验题目(1)【见实验教材实验五的题目1】:编写程序exp5_1.c,

qq_46392282的博客 1万+

南京邮电大学C语言实验报告

实验五:指针与字符串实验 实验题目(1)【见实验教材实验六的题目2】:编程exp6_2.c,现有整型变量x,y,调用交换函数以期实现两个值的交换。下表中4种不同的定义及调用分别进行测试并填写表格。 表1 拟实现交换的四种方法 原型声明 void swap1( int , int ); void swap2( int *, int ); void swap3( int *, int *); ..

m0_54848805的博客 8273

南京邮电大学java第二次实验报告

实 验 报 告 ( 2017 / 2018学年 第2学期) 课程名称 JAVA语言程序设计 实验名称 Java集成开发环境的安装与使用、 Java变量、表达式与控制结构 实验时间 2018 年 4 月 11 ...

weixin_34067980的博客 1286

南京邮电大学c语言实验报告4,南京邮电大学算法设计实验报告——动态规划法...

南京邮电大学算法设计实验报告——动态规划法》由会员分享,可在线阅读,更多相关《南京邮电大学算法设计实验报告——动态规划法(12页珍藏版)》请在人人文库网上搜索。1、实 验 报 告(2009/2010学年 第一学期)课程名称算法分析与设计A实验名称动 态 规 划 法实验时间2009年11月20日指导单位计算机学院软件工程系指导教师张怡婷学生姓名丁力琪班级学号B学院()计算机学院专 业软件工程实 ...

weixin_39603613的博客 1480

南邮C语言期末考试复习+实验报告

(等边三角形、等腰三角形、直角三角形、等腰直角三角形、一般三角形)。在此基础上改写,再加上外层循环,找出规定范围(a, b)内的所有质数,并按每行5个的格式输出。输出数组元素最大值、输出数组元素最小值、查找某数值元素是否存在(若存在,请输出下标)、。老师询问小同学,已知是其中1人打碎的,还知道4人中每个人要么是诚实的,要么总是说谎的。读入3个double型变量a, b, c的值,用if语句判断它们能否构成三角形,。学到的就是程序的分块思想,三角形无非就两种一种直角三角形,一种普通三角形,。

WSFREEWS的博客 8506

南邮java大作业实验报告_南京邮电大学java第三次实验报告

实 验 报 告( 2017 / 2018学年 第2学期)课程名称JAVA语言程序设计实验名称Java集成开发环境的安装与使用、Java变量、表达式与控制结构实验时间2018年4月11日指导单位计算机学院软件教学中心指导教师许棣华学生姓名王利国班级学号B160209学院()电子与光学工程学院,微电子学院专 业微电子科学与工程实验名称方法、数组和类指导教师许棣华实验类型上机实验学时2实验时间2...

weixin_33344952的博客 1275

南京邮电大学java实验报告_南京邮电大学java第二次实验报告

三、实验内容1. 寻找并输出11~999之间的数m,它满足m、m2、m3均为回文数。回文数是各位数字左右对称的整数。判断是否为回文要求通过编写方法来完成。packageTest;/*** @Author liguo* @Description 寻找并输出11~999之间的数m,它满足m、m2、m3均为回文数。* 回文数是各位数字左右对称的整数。判断是否为回文要求通过编写方法来完成。* @Data ...

weixin_30315507的博客 1809

南京邮电大学C语言实验报告5v2(仅供参考)

实验五 指针与字符串实验 一、 实验目的和要求 (1)重点掌握一级指针的定义与使用,会利用一级指针进行间接访问等操作。通过调试器观察分析程序的运行情况,理解指针与指针所指向的内容之间的关系,理解指针间接引用的实质。 (2)综合运用函数、数组和指针的知识,理解函数中指针形式参数的意义,数组名形参实质就是指针形参。通过跟踪调试理解传值与传地址的不同,及指针形参如何改变对应的实参变量。 (3)正确使用字符数组及字符指针处理字符串。 (4)进一步熟悉数组中经典算法的实现,并且能运用到字符串的处理中。 二、实验环境

qq_46392282的博客 1万+

南京邮电大学c语言实验报告5,南京邮电大学C语言大一上期末复习.pdf

南京邮电大学C语言大一上期末复习.pdf高级语言程序设计期末总复习高级语言程序设计期末总复习 课程的全部内容可分为五大模块课程的全部内容可分为五大模块 1 1基础知识基础知识 2 2三种基本结构及流程控制三种基本结构及流程控制 3 3函数函数 4 4数据类型数据类型 5 5文件文件 下面按这五大模块分别作回顾下面按这五大模块分别作回顾 模块一基础知识部分模块一基础知识部分 需要掌握的知识要点需要掌...

weixin_32848617的博客 1120

南京邮电大学C语言实验报告6v2(仅供参考)

实验六 结构体与文件实验 一、 实验目的和要求 (1)掌握结构体类型以及结构体变量的定义与使用。 (2)综合运用结构体、数组、指针等知识,解决相关问题。 (3)会正确定义FILE*指针,掌握文件操作从打开、读写到关闭的完整过程。 (4)理解文本文件和二进制文件的区别和不同的读写方式。 二、实验环境(实验设备) 硬件: 微型计算机 软件: Windows 操作系统、Microsoft Visual Studio 2010 三、实验原理及内容 实验题目(1)【见实验教材实验八的题目3】:编写程序exp8_3

qq_46392282的博客 1万+

南京邮电大学高级语言程序设计实验报告

【见实验教材实验六的题目2】:编程exp6_2.c,现有整型变量x,y,调用交换函数以期实现两个值的交换。下表中4种不同的定义及调用分别进行测试并填写表格。

2301_80066544的博客 1292

南京邮电大学c语言实验报告2哥德巴赫,c语言实验报告模板完成版

《c语言实验报告模板完成版》由会员分享,可在线阅读,更多相关《c语言实验报告模板完成版(32页珍藏版)》请在人人文库网上搜索。1、高级语言程序设计学生实验报告专业:计算机科学与技术学号:姓名:实验一 C程序的运行环境和使用方法1. 实验目的1) 了解所用的计算机系统的基本操作方法,学会独立使用该系统。2) 了解在该系统上如何编辑、编译、连接和运行一个C程序。3) 通过运行简单的C程序,初步了解C程...

weixin_39782394的博客 735
上一篇: 南京邮电大学实验报告3.3
下一篇: 南京邮电大学实验报告5
梦幻#现实
博客等级 码龄4年 10粉丝 · 3原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值