c语言12的程序设计,C语言程序设计12.doc

C语言程序设计12

C语言程序设计实验十二

实验目的

江苏省等级考试的上机考与全国等级考试的上机考形式完全不同,江苏省等考上机只考两题,一题是改错题,但并不提示错误的位置,需要自已动脑。

改错题通常有3~4个错误。错误分为两大类,一类是语法出错,这类错误比较查错和容易修改,即修改通过编译程序提示的错误。另一类是结果出错,即程序的算法出错,这类错误需认真审题。

另一题是编程题。这类题需要整体编程。要求必须常用算法和函数参数和传递。

编程题。

实验指导

【程序功能】 在一组数值的整数中查找次大数。

【编程要求】

1、编写函数int findsecmax(int data[], int count)。函数功能:在data数组的前count个整数中查找次大数。

2、编写函数main()。函数功能:声明一个整型数组a并用测试数据初始化,用数组a及数组元素个数作实参调用findsecmax 函数找出次大数,然后将原数组及次大数输出到屏幕及数据文件myf2_1.out中。最后将考生本人的准考证号字符串输出到文件myf2_1.out中。

【测试数据与运行结果】

测试数据:1,9,2,8,3,7,4,6,10,10

屏幕输出:

1 9 2 8 3

7 4 6 10 10

Sec_max: 9

【要求】

1.源程序文件名为myf2_1.c,输出结果文件名为myf2_1.out。

2.数据文件的打开、使用、关闭均用C语言标准库中文件操作函数实现。

3.源程序文件和运行结果文件均需保存到T盘上,供阅卷使用。

4.不要复制扩展名为obj和exe的文件到T盘上。

#include /*库函数exit(0)需要*/

#include /*定义文件指针时需要的头文件*/

…………..

int findsecmax(int data[], int count){

}

int main()

{ FILE *fp;

所有数据类型的说明和定义

if((fp=fopen("t:\\myf2.out","w"))==NULL)

{ printf("\nCan't open the file!"); exit (0);}

函数调用(具体问题具体分析)

结果输出

printf("\nMy number is:120992340\n")fprintf(fp,"\nMy number is:1292340\n");

fclose(fp);

return 0;

}

【参考源程序】

#include

#include

int findsecmax(int data[], int count)

{ int i, j=0,secmax=0,max=data[0],b[10];

for(i=1;i

if(data[i]>max) max=data[i];

for(i=0;i

if(data[i]!=max) b[j++]=data[i];

for(i=0;i

if(data[i]>secmax) secmax=data[i];

return secmax;

}

int main()

{ FILE *fp;

int i,a[20]={1,9,2,8,3,7,4,6,10,10},count=10,sec_max;

if((fp=fopen("myf12_1.out","w"))==NULL)

{ printf("\nCan't open the file!"); exit (0);}

sec_max=findsecmax(a,count);

for(i=0;i

printf((i+1)%5==0?"%4d\n":"%4d",a[i]),fprintf(fp,i%5==0?"%4d\n":"%4d",a[i]);

printf("\nsec_max:%4d",sec_max),fprintf(fp, "\nsec_max:%4d",sec_max);

printf("\nMy number is:1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值