加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

《C程序设计》上机实验9 参考答案

(2010-06-21 11:24:17)
标签:

教育

// 实验 九 文件
//P62 二、

//1).编写程序:读入一字符串(以*结束),写入文本文件a.dat中。
#include <stdio.h>

void main()
{
 char c;
 FILE *fp;
 if((fp=fopen("a.dat","w"))==NULL)
 {
  printf("Open file a.dat error! \n");
  exit(0);
 }

 c=getchar();
 while(c!='*')
  
  fputc(c,fp);
  c=getchar();
 }

 fclose(fp);
}

//2)编写程序:从前面生成的文件a.dat中读取字符,将其中的大写字母转为小写字母后存放到文件b.dat中,并输出结果。

#include <stdio.h>

void main()
{
 char c;
 FILE *fpa,*fpb;
 if((fpa=fopen("a.dat","r"))==NULL)
 {
  printf("Open file a.dat error! \n");
  exit(0);
 }

 if((fpb=fopen("b.dat","w"))==NULL)
 {
  printf("Open file b.dat error! \n");
  exit(0);
 }

 c=fgetc(fpa);
 while(c!=EOF)
 
  if(c>='A'&&c<='Z')
  {
   fputc(c-'A'+'a',fpb);
   putchar(c-'A'+'a');
  }
  else
  {
   fputc(c,fpb);
   putchar(c);
  }

  c=fgetc(fpa);
 }
 
 printf("\n\n");

 fclose(fpa);
 fclose(fpb);
}

//3)编写程序:将N个同学某门课的成绩按每行8个写入文件score.dat中,并将生成的磁盘文件score.dat的所有内容读出,显示在屏幕上。

//方法1
#include <stdio.h>

#define N 10

void main()
{
 double sc[N];
 int i;
 FILE *fp;

 if((fp=fopen("score.dat","w"))==NULL)
 {
  printf("Open file score.dat error! \n\n");
  exit(0);
 }

 printf("请输入%d个学生某门课的成绩:\n",N);

 for(i=0;i<N;i++)
 {
  scanf("%lf",&sc[i]);

  fprintf(fp,"%.1f ",sc[i]);
  if((i+1)%8==0)
   fprintf(fp,"\n");
 }
 
 rewind(fp);//将文件指针返回文件头部

 for(i=0;i<N;i++)
 {
  fscanf(fp,"%.1f",&sc[i]);
  printf("%.3f ",sc[i]);
  if((i+1)%8==0)
   printf("\n");
 }

 printf("\n\n");

 fclose(fp); 
}

//方法2
#include <stdio.h>

#define N 10

void main()
{
 double sc[N];
 int i;
 FILE *fp;

 if((fp=fopen("score.dat","wb"))==NULL)
 {
  printf("Open file score.dat error! \n\n");
  exit(0);
 }

 printf("请输入%d个学生某门课的成绩:\n",N);

 for(i=0;i<N;i++)
 {
  scanf("%lf",&sc[i]);

  fwrite(&sc[i],sizeof(double),1,fp);
  if((i+1)%8==0)
   fprintf(fp,"\n");
 }
 
 rewind(fp);//将文件指针返回文件头部

 for(i=0;i<N;i++)
 {
  fread(&sc[i],sizeof(double),1,fp);
  printf("%.3f ",sc[i]);
  if((i+1)%8==0)
   printf("\n");
 }

 printf("\n\n");

 fclose(fp); 
}

 

http://s14/middle/5f2925ff4898a4b1c3f9d&690参考答案" TITLE="《C程序设计》上机实验9 参考答案" />

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有