C语言实验报告(16)(4)

2018-12-14 22:58

计各档成绩所占百分率。

5.逆序输出整数的每一位数。

输入每一个正整数x,例如13579,要求输出9 7 5 3 1,每一位后有空格。

如输入: 13579,输出: 9 7 5 3 1

16

【实验报告】

实习时间: 实习地点: 实习机号: 具 体 实 验 内 容 17

程 序 调 试 过 程 实 习 小 结 18

实验五 数组程序设计(1)

【实验目的】

1.掌握一维数组与二维数组的定义及其元素的引用方法。 2.深刻体会数组与循环的关系。

3.掌握利用一维数组和二维数组实现一些常用算法的编程技巧。 4.进一步掌握动态调试的基本技能。

【上机实习指导】

1.用移位法将数组a中的最后一个数移到最前面,其余数依次往后移动一个位置。 # include “stdio.h” void main()

{ int i,t,a[10]={0,1,2,3,4,5,6,7,8,9}; t=a[9];

for(i=1;i<10;i++) a[i]=a[i-1]; a[0]=t;

printf(“\\n”); for(i=0;i<10;i++)

printf(“%d ” ,a[i]); }

请按以下步骤实习和思考: ①分析程序及其特性。

②上机运行程序,查看运行结果是否正确? ③用动态跟踪查找错误原因,即按如下操作:

首先将光标移至t=a[9]的语句行上,按F4,再用Ctrl-F7操作将a数组的内容显示出来,然后将光标移至a[i]=a[i-1]的语句行上,不断按F4,观察a数组值的变化情况,以此分析并找出错误原因。

④改正错误后重新运行程序,直到结果正确为此。

⑤如果要用三次循环移位来实现将最后三个数移到前面,其余数依次往后移三个位置,则程序应该如何修改?

2.输入n个学生的单科成绩,然后从高到低的顺序排序后输出。

以下是用选择法实现的排序。 # include “stdio.h” void main( ) {

int i,j,t,n,a[n]; printf(“\\n n=?); scanf(“%d”,&n);

printf(\for (i=0;i

19

{t=a[i];a[i]=a[j];a[j]=t;}

printf(\ for(i=0;i

printf(\}

①分析程序及其特性。

②上机编译程序,程序是否有语法错误?应如何修改?(数组a的长度可比n大些),改正错误后重新编译和运行程序,直到结果正确为此。

③你对选择排序算法的实现过程是否清楚了?若不清楚,请用动态跟踪的方法观察其实现过程,操作如下:

首先将光标移至 if语句行上,按F4,接着输入数据,当绿条第停留在if语句行时,用Ctrl-F7操作将a数组的内容显示出来,不断按F4,观察a数组值的变化情况,以此分析和领会算法的实现过程。

④输入冒泡排序程序,用动态跟踪观察其实现过程。

⑤如果要用三次循环移位来实现将最后三个数移到前面,其余数依次往后移三个位置,则程序应该如何修改?

【自编程序上机】

1.将矩阵A[4][5]中值(行中所有数的和)为最大的那一行元素与首行元素对换。 具体要求如下:

①矩阵A的数值从键盘输入。

②以矩阵的形式输出对换后的矩阵。 2.数字检查

通过键盘输入n(n<50)个4位数(输入-1时结束),统计这n个4位数中各位上的数 字均是偶数的数的个数,并把这些4位数按从大到小的顺序进行输出。

提示:定义两个一维数组a和b,数组a用于存放输入4位数,数组b用于存放满足条件的4位数;判断4位数的各个数是否为偶数的方法可将该数的每一位数拆分出来,然后进行判断即可。

3.输入10个整数,将这10个整数按升序排列输出,并且奇数在前,偶数在后。比如,如果输入的10个数是1 2 3 4 5 6 7 8 9 10,则输出1 3 5 7 9 2 4 6 8 10。

提示:将输入的10个整数,按其就行分别放在数组a的左部和右部。其具体方法就是设置两个整型变量odd和even,分别表示奇数和偶数存放在数组a中元素的下标,odd初始值为0,每存放一个奇数odd就加1,even初始值为9,每存放一个偶数even就减1,然后通过选择排序的方法分别对数组a左部的奇数和右部的偶数进行排序,最后依次进行排序结果的输出。

20


C语言实验报告(16)(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:就业指导课复习资料(开卷)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: