实验二

更新时间:2024-05-29 03:26:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

函数实验题

1、 改错题:

(一共有四处错误)

下面的程序调整一个整数序列。函数bi_sort的功能是:将整数序列k1,k2,…,kn重新排列成一个新的序列,新序列中,比k1小的数据都在k1的前面(左边),比k1大的数据都在k1的后面(右边)。函数main中完成整数序列的赋值,调用函数bi_sort以实现序列的调整功能,输出调整后的整数序列。 若输入为7

3 2 4 -3 7 1 8时(其中第一个数为被调整序列的数据

个数),则输出应为1 2 -3 3 7 4 8。

注:改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译预处理命令,但不能增加其他语句,也不能删去整条语句。(提示:本题共有四个错误) 含有错误的源程序为:

#include #define N 100

void bi_sort(int a[],int n) {int i=0,j=n,x; x=a[0]; while(i

{while((i

while((ia[i])) i++; a[j]=a[i]; }

x=a[i]; }

main()

{int i,a[N]=0,n;

scanf(\

for(i=0;i

2、 请按下列要求编写程序:(三个函数均在一个C

语言源程序中)

(1)编写函数int add(int a,int b),其功能是求出a和b的和并返回。 (2)编写函数int sub(int a,int b),其功能是求出a和b的差并返回。

(3)编写主函数,输入x,y,然后分别调用add函数、sub函数求出x和y的和差并输出到文件myf1.out中。

3、 请按下列要求编写程序:

有一个四位整数,它的9倍恰好是其反序数(反序数例:1234与4321互为反序数)。请按下列要求编写程序找出这个数: 编写函数int find(int n),其功能是判断整数n的9倍是否为n的反序数,若是则函数返回这个反序数,否则返回0(用if语句)。

编写主函数,穷举(用循环)所有的四位数并调用函数find,找出满足上述条件的四位数,将找到的数及其反序数写入数据文件myf2.out中。(程序运行结果:1089--> 9801)

附加题: 4、 改错题:

【题目】主函数接收从键盘上输入一组整数(以-999作为输入结束)保存至整型数组xx中,调用fun函数。函数fun的功能是:对长度为n的数组a,不考虑这组整数中的最大数和最小数(若有重复,则都不考虑),求出余下数中的最大数max及最大数的个数cnt1、最小数min及最小数的个数cnt2,分别保存到全局变量max、cnt2、min、cnt2中。(四处错误) 含有错误的源程序如下:

#define N 100

int max,min,cnt1,cnt2;

void fun(int a[],int n) {int i,j,k,x; for(i=0;i

for(j=i+1;j if(k!=i) {x=a[i];a[i]=a[k];a[k]=x;} }

for(i=0;i

while(a[i]==a[i-1])i++;

while(a[j]==a[j+1])j--;

max=a[i];min=a[j];cnt1=cnt2=1; while(a[i+1]==a[i]) cnt1++,i++; while(a[j-1]==a[j]) cnt2++,j--; }

main()

{int xx[N],i=0,m=0; scanf(\ while(xx[i++]!=-999) {scanf(\ m=i-1;

for(i=0;i

printf((i+1)%5?\xx[i]);

fun(m,xx);

printf(\

printf(\}

注:改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译预处理命令,但不能增加其他语句,也不能删去整条语句。

5、编程题:

(1)输出1-100之间所有的素数。

要求:①编写函数int find(int n),其功能是判断整数n是否是素数,若是则函数返回这个数,否则返回0。

②编写主函数,穷举(用循环)1-100之间的数并调用函数find找出所

有的素数并将结果输出到数据文件myf3.out中。

(2)有3个非零十进制数字,用它们可以组合出6个不同的三位数,这些三位数的和是2886。如果将这3个数字按从大到小和从小到大的顺序依次排列成两个三位数,它们的差是396。试编写函数void func(int a[])找出这三个数字,并存放在数组a中;在主函数中调用函数func,并将结果数组中每个元素的值写入到数据文件myf4.out中。(运行结果:2 5 6)

本文来源:https://www.bwwdw.com/article/d1u7.html

Top