第一范文网 - 专业文章范例文档资料分享平台

编程题特殊方法

来源:用户分享 时间:2025/12/14 19:14:23 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

}

main( )

{ double x;

printf(\

scanf(\ NONO(); }

NONO ( )

{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ FILE *fp, *wf ; int i ; double x ;

fp = fopen(\ wf = fopen(\ for(i = 0 ; i < 10 ; i++) { fscanf(fp, \

fprintf(wf, \ }

fclose(fp) ; fclose(wf) ; }

in.dat文件内容为:

0.0005 0.00005 0.000005 0.0001 0.00001 0.000001 0.0004 0.00004 0.000004 0.0003

分析:本题没有办法利用特殊做法把out.dat文件数据写出,只有通过编写程序来实现生成out.dat文件。也就是说,这题只有通过编写程序才能做出。 现将编写的程序如下所示(可查看实验手册上的实验三函数(5)): double fun ( double eps) { int i=0;

double pi=0,a=1; while(a>=eps)

{ pi+=a; i++; a=a*i/(2*i+1); } return pi*2; }

这样编译运行之后生成out.dat文件,且其文件内容为:

3.140578 3.141480 3.141580 3.141358 3.141566 3.141590 3.140578 3.141480 3.141580 3.140578

第7题【重要】

m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人数作为函数值返回,将低于平均分的分数放在below所指的数组中。例如,当score数组中的数据为:10、20、30、40、50、60、70、80、90时,函数返回的人数应该是4,below中的数据应该为:10、20、30、40。 源程序:

#include #include

int fun(int score[], int m, int below[]) { }

main( )

{ int i, n, below[9] ;

int score[9] = {10, 20, 30, 40, 50, 60, 70, 80, 90} ; n = fun(score, 9, below) ;

printf( \

for (i = 0 ; i < n ; i++) printf(\ NONO() ; }

NONO ( )

{/* 本函数用于打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/

int i, j, n, below[10], score[10] ; FILE *rf, *wf ;

rf = fopen(\ wf = fopen(\ for(i = 0 ; i < 10 ; i++) {

for(j = 0 ; j < 10 ; j++) fscanf(rf, \ n = fun(score, 10, below) ;

for(j = 0 ; j < n ; j++) fprintf(wf, \ fprintf(wf, \

}

fclose(rf) ; fclose(wf) ; }

in.dat文件内容为:

111 121 10 12 76 88 56 57 54 32

980 876 675 896 101 301 401 431 451 777 910 806 605 496 901 101 101 231 151 444 120 576 275 596 401 201 211 441 401 321 180 176 175 196 201 201 201 231 451 888 280 276 275 296 201 201 287 231 451 555 380 376 375 396 301 301 301 331 351 999 480 476 475 496 201 201 101 131 151 777 580 176 475 296 301 601 801 131 151 111 98 76 75 96 10 30 40 43 41 77

out.dat文件(标准答案测试数据) 内容为:

10 12 56 57 54 32 101 301 401 431 451 101 101 231 151 444 120 275 201 211 321

180 176 175 196 201 201 201 231 280 276 275 296 201 201 287 231 380 376 375 396 301 301 301 331 351 201 201 101 131 151 176 296 301 131 151 111 10 30 40 43 41

分析:从上面的红色程序中 n = fun(score, 10, below) ;

for(j = 0 ; j < n ; j++) fprintf(wf, \

可以看出输出的格式是\%d \,在d之后有一个空格,注意看VC编译环境下的源程序,也就是说输出的时候每一行中低于平均分的分数之间必须有一个空格。

第8题【8、9、10、19、45、54、57、61】

假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导的*号之外,将字符串中其它的*号全部删除。在编写函数时,不得使用C语言中提供的字符串函数。例如,字符串的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当为:****ABCDEFG。 源程序:

#include void fun( char *a ) { }

main()

{ char s[81];

printf(\ fun( s );

printf(\ NONO(); }

NONO()

{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ FILE *in, *out ; int i ; char s[81] ;

in = fopen(\ out = fopen(\ for(i = 0 ; i < 10 ; i++) { fscanf(in, \ fun(s) ;

fprintf(out, \ }

fclose(in) ; fclose(out) ; }

in.dat文件内容为:

****A*BC*DEF*G********

**********LKJFHG****KHJ***SDFGH****KJKJ*J*K*K*J***** ******OGH*GKLJ*LKJ*LKJ*KLKJHG*DQ*LJ*KJ*****

********HJJKD***JHHKJH*DGH*TDFHG*TYRYTRIU*JGJ********** *****HKHJLKH***GUHHJ*GFHJ**GJHK***GJKGK****KHKLHKJHKJ*** ******JHGDFXGGJH****JFHGFK**HKH**KJHKL***KLH*** ************UYKJDFARTQYW*****HFGUJ**KJHKJ**KJHK***

********JKHILUHIUGCLKLKJGH*******HJGHG**KJH**JY*JH*M*HJH**** *****JKH***GHJK*JHGG*GGJK*GJKG*GKJ*GH*GK*JK***** ****KJKHLKJHSQDQDQ*DQDQ*DQ*DQLKDKJQ*POUOIUO*LKJL*****

out.dat文件(标准答案测试数据) 内容为:

****ABCDEFG

**********LKJFHGKHJSDFGHKJKJJKKJ ******OGHGKLJLKJLKJKLKJHGDQLJKJ ********HJJKDJHHKJHDGHTDFHGTYRYTRIUJGJ *****HKHJLKHGUHHJGFHJGJHKGJKGKKHKLHKJHKJ ******JHGDFXGGJHJFHGFKHKHKJHKLKLH ************UYKJDFARTQYWHFGUJKJHKJKJHK ********JKHILUHIUGCLKLKJGHHJGHGKJHJYJHMHJH *****JKHGHJKJHGGGGJKGJKGGKJGHGKJK

****KJKHLKJHSQDQDQDQDQDQDQLKDKJQPOUOIUOLKJL

搜索更多关于: 编程题特殊方法 的文档
编程题特殊方法.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c0af995duxe4mn0g1lug1_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top