当前位置:首页 > c语言编程基础习题答案
else if(sec1>60) {hou=0;
min=sec1/60; sec1=(sec1`);} return(sec1); }
⑷ 求一组学生成绩的总分、平均分、最高分和最低分的程序,编写如下: main() {
float s,ave,score[100]; int I,m; clrscr();
printf(\输入学生人数:\ scanf(\
printf(\输入%d个学生的成绩:\\n\for (i=0 ; i scanf(\s=s+score[i]; } printf(\总成绩=%.2f\\n\ave=average(score,m); printf(\最高分=%d\\n\printf(\最低分=%d\\n\printf(\平均成绩=%.2f\} float max=0,min=0; float average(array,n) float array[];int n; { int i; float aver,sum=array[0]; max=min=array[0]; for(i=1;i { if(array[i]>max) max=array[i]; /*求最高分*/ else if(array[i] aver=sum/n; /* 求取平均成绩 */ return(aver); /* 返回主程序值 */ } ⑸ 显示菜单并实现相应选择功能的程序,编写如下: #include <> main() { int i; while (i!=3) { clrscr( ); printf(\printf(\求整数n的立方\\n\printf(\求整数n的立方根\\n\printf(\结束程序\\n\ printf(\scanf(\if (i==1) lifang(); else if (i==2) lifanggen(); } } lifang() { int n; long s; printf(\scanf(\s=pow(n,3); printf(\的立方为:%ld\\n\\n\} lifanggen() { int n; double s; printf(\scanf(\s=(double)1/3; s=pow(n,s); printf(\的立方根为:%f\\n\\n\} ⑹ 用递归法求n!的程序,编写如下: main() { long f(),t; int n; printf(\scanf(\t=f(n); printf(\的阶乘为:%ld\} long f(int n) { static long s=1; if (n>1) f(n-1); s*=n; } 习题八 1、填空。 (1) 文件是存贮在外部存贮设备上的_信息集合_。一般分为_程序_文件和_数据_文件。 (2) C 语言文件存贮在磁盘上有两种形式 , 一种是按_ASCII码存储_, 另一种是按_二进制码存储_。 (3) 定义文件指针变量的格式为__FILE *fp__ 。 (4) feof()函数是_文件尾_ 检测函数,当文件位置指针处于_文件尾_ 时,它返回一个__非0_ 值。 (5) 对流式文件可以进行顺序读写,也可以进行随机读写,关键是_如何控制文件的位置指针_ 。 2、回答问题。 ⑴ 有三大好处:①保存运算的中间结果或最终结果,方便使用;②将数据独立于程序之外,便于多处、多人共享;③事先录入保存所需数据,可以提高程序运行时的效率。 ⑵ 在ASCII码文件中,一个字节代表一个字符,便于字符的输入输出处理,但占用存储空间较大;二进制文件占用的存储空间较小,但在文件中,一个字节并不代表一个字符。 ⑶ w: 创建一个ASCII码文件只写; r: 打开一个ASCII码文件只读; a: 打开一个ASCII码文件添加; wb: 创建一个二进制文件只写; rb+:打开一个二进制文件读/写。 ⑷ 文件操作完以后及时关闭,可将文件指针脱离该文件,并将内存缓冲区中的数据写入磁盘,用以保证写入文件的数据完整。 ⑸ EOF在中定义为-1,它也是一个合法的二进制整数,用fgetc()函数检查文件尾容易发生错判。 3、程序改错。 ⑴ 该程序是要求将键盘上输入的一些字符写入磁盘文件中,程序中有两处错误: ① (检查文件是否存在且要向文件写,注意文件名和打开方式) fp=fopen(\应改为:fp=fopen(\w\② (向文件中写而不是读) fgetc(fp); 应改为:fputc(c,fp); ⑵ 该程序是要求从文件中读并统计其正数、负数和零的个数,在屏幕上显示。程序中有两处错误: ① (当不是文件尾时才读取并统计) while(feof(p)==1) 应改为: while(feof(p)==0) ②(f为存储负数的变量应取i<0) else if(i=0)f++; 应改为:else if(i<0)f++; 4、编写程序。 ⑴ 将字符串写入文件的程序,编写如下: #include <> FILE *fp; main() { char a[2][8]={\fp=fopen(\fputs(a[0],fp); fputs(a[1],fp); fclose(fp); } ⑵ 将字符串从文件中读出的程序,编写如下: #include <> FILE *fp; main() { char *a; if((fp=fopen(\{ printf(\exit(1);} fgets(a,13,fp); clrscr();
共分享92篇相关文档