实验07-1参考答案 下载本文

内容发布更新时间 : 2024/5/20 0:35:51星期一 下面是文章的全部内容请认真阅读。

实验七-1 数组程序设计

班级: 学号: 姓名: 评分:

一.【实验目的】

1、熟练掌握使用一维数组编程的方法。 2、熟练掌握排序算术。

3、熟练掌握使用二维数组编程的方法。 4、进一步掌握C程序的调试方法和技巧。 二.【实验内容和步骤】 1、程序调试题

A.目标:进一步学习掌握程序调试的方法和技巧。

B.内容:从键盘输入一个正整数n(0

#include int main( ) {

int i, j, n, x, a[10];

printf(\输入数据的个数n:\ scanf(\

printf(\输入%d个整数:\ for(i = 0; i < n; i++) scanf(\

printf(\输入要插入的整数:\ scanf(\

for(i = 0; i < n; i++){ if(x > a[i]) continue; j = n - 1;

while(j >= i){ /* 调试时设置断点 */ a[j+1] = a[j]; j--;

} /* 调试时设置断点 */ a[i] = x; break; }

if(i == n) a[n]=x;

for(i = 0; i < n + 1; i++) printf(\ putchar('\\n');

return 0; }

② 运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。

2、完善程序,并调试运行程序

题目(1)求平均值。程序功能:从键盘上输入一个正整数repeat(0

个正整数n(1

//程序功能:从键盘上输入一个正整数 repeat (0

#include int main( ) {

int ri, repeat; int i, n, sum; float aver; int a[10];

scanf(\

for(ri=1; ri<=repeat; ri++) {

scanf(\

for(i=0; i

//请在两条星线之间填入相应的代码, 求数组a的平均值(使用循环结构) /**************************************************************/ sum=0;

for(i=0;i

/**************************************************************/ printf(\ } }

② 运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。

题目(2)求最大值及其下标。程序功能:从键盘上输入一个正整数repeat(0

输入一个正整数n(1

//程序功能:从键盘上输入一个正整数 repeat (0

// 输入一个正整数n(1

#include int main( ) {

int ri, repeat;

int i, index1, index2, n; int a[10];

scanf(\

for(ri=1; ri<=repeat; ri++) {

scanf(\

for(i=0; i

//请在两条星线之间填入相应的代码, 求数组a中的最大值、最小值及对应下标值(使用循环

结构)

/************************************************************************************/

index1=index2=0; for(i=1;i

if(a[i]>a[index1]) index1=i;

if(a[i]

/************************************************************************************/

printf(\ printf(\ } }

② 运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。

题目(3)逆序输出。程序功能:从键盘上输入一个正整数repeat(0

个正整数n(1

① 调试正确的源程序清单

//程序功能:从键盘上输入一个正整数 repeat (0

//提示:除在指定位置添加语句之外,请不要改动程序中的其他内容。

#include int main( ) {

int ri, repeat; int i, n, temp; int a[10];

scanf(\

for(ri=1; ri<=repeat; ri++) {

scanf(\

for(i=0; i

//请在两条星线之间填入相应的代码, 首尾交换数组a中各元素值(使用循环结构) /**********************************************************************/ for(i=0;i

/**********************************************************************/ for(i=0; i

② 运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。

题目(4)交换最小值和最大值。程序功能:从键盘上输入一个正整数repeat(0

算:输入一个正整数n(1

//程序功能:从键盘上输入一个正整数 repeat (0

// 输入一个正整数n(1

后一个数交换,然后输出交换后的n个数。

// 例如:输入4 10 8 1 6,则输出1 6 8 4 10

//提示:除在指定位置添加语句之外,请不要改动程序中的其他内容。

#include int main( )