当前位置:首页 > 《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] sum=sum+array[i]; } aver=sum/n; /* 求取平均成绩 */ return(aver); /* 返回主程序值 */ ;. 求最高分 */ 求最低分 */ .. } ⑸ 显示菜单并实现相应选择功能的程序,编写如下: ⑹ ;. #include 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在 stdio.h 中定义为 -1 ,它也是一个合法的二进制整数,用 fgetc() 函数检查文件尾容易发生错判。 3、程序改错。 ⑴ 该程序是要求将键盘上输入的一些字符写入磁盘文件 有两处错误: fp=fopen(\② (向文件中写而不是读) fgetc(fp); 示。程序中有两处错误: ① ( 当不是文件尾时才读取并统计 ) while(feof(p)==1) else if(i=0)f++; 应改为: while(feof(p)== 应改为: else if(i 0) ②( f 为存储负数的变量应取 i<0 ) <0)f++; 应改为: fputc ( c, fp); ⑵ 该程序是要求从文件中读并统计其正数、负数和零的个数,在屏幕上显 xt1.txt 中,程序中 ① (检查文件是否存在且要向文件写,注意文件名和打开方式) 应改为: fp=fopen(\1.txt\ w\ 4、编写程序。 ⑴ 将字符串写入文件的程序,编写如下: #include char a[2][8]={\fp=fopen(\fputs(a[0],fp); fputs(a[1],fp); fclose(fp); } ⑵ 将字符串从文件中读出的程序,编写如下: #include char *a; if((fp=fopen(\{ printf(\exit(1);} fgets(a,13,fp); clrscr(); ;.
共分享92篇相关文档