上机实验11数组与函数上机实验十一 数组与函数
班级 学号 姓名
一.目的要求
1. 掌握局部变量与全局变量的作用域区别
2. 掌握数组作为函数参数的基本方法。
二.实验内容
【实验题1】阅读下列程序并回答问题,源程序如下:
#include
int k = 1; //Line 2
void Fun();
int main()
{ int i;
for(i = 0; i
int main()
{
int i, j, k,n, temp, a[10];
...
上机实验十一 数组与函数
班级 学号 姓名
一.目的要求
1. 掌握局部变量与全局变量的作用域区别
2. 掌握数组作为函数参数的基本方法。
二.实验
【实验题1】阅读下列程序并回答问题,源程序如下:
#include
int k = 1; //Line 2
void Fun();
int main()
{ int i;
for(i = 0; i < 2; i++) Fun();
printf("k=%d", k);
}
void Fun()
{ int k = 1; //Line 10
printf("k=%d,", k);
k++;
}
如下:
Line 2中的变量k是_ __变量;而Line 10中的k是__ ___变量。程序的输出结果是
。
如果将第10行改为“static int k=1;”,该k是__ ___变量,程序的输出结果是
。
如果将第10行改为“ k=1; ”,该k是__ ___变量,程序的输出结果是
。
如果将第10行改为空语句“ ; ”后,此时函数Fun中的k是__ ___变量程序的输出结果是
。
【实验题2】程序填空:输入一个整数n (1≤n≤10),再输入n个整数,将它们按升序排列后输出。
程序分析_选择法:
(1) 由于n最大是10,需要定义一个长度为10的整型数组a;
(2) 整个排序只需要确定前n-1个元素(a[0] ~a[n-2]),最后一个元素a[n-1]无需另外处理;
(3) 在确定a[i](i=0,1,…,n-2)时,先将a[i]本身看成最小,即令k=i, 并将a[k]与后面的元素a[j](j=i+1, i+2, …, n-1)一一比较,如果a[j]< a[k],则更新k的值:k =j。 找出对应于下标i的最小元素a[k]后,交换a[i]与a[k]。
(4) 上述排序算法可用下列流程图表示
#include
int main()
{
int i, j, k,n, temp, a[10];
printf("Input n (1~10):");
while ( scanf("%d",&n), );
//输入n
printf("Input %d numbers:\n", n );
for(i=0; i
;// 函数声明
int main()
{
int i, n,a[10];
printf("Input n (1~10):");
while ( scanf("%d",&n), n<1 || n>10);
//输入n
printf("Input %d numbers:\n", n );
for(i=0; i
本文档为【上机实验11数组与函数】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。