频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

C语言程序设计经典实例之十

来源:唯C世界 作者: 出处:巧巧读书 2007-07-17 进入讨论组
上一页 1 2 3 

  【程序98】

  题目:从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件“test”中保存。输入的字符串以!结束。

  1.程序分析:

  2.程序源代码:

#include "stdio.h"
main()
{
 FILE *fp;
 char str[100],filename[10];
 int i=0;
 if((fp=fopen("test","w"))==NULL)
 {
  printf("cannot open the file\n");
  exit(0);
 }
 printf("please input a string:\n");
 gets(str);
 while(str[i]!='!')
 {
  if(str[i]>='a'&&str[i]<='z')
   str[i]=str[i]-32;
   fputc(str[i],fp);
  i++;
 }
 fclose(fp);
 fp=fopen("test","r");
 fgets(str,strlen(str)+1,fp);
 printf("%s\n",str);
 fclose(fp);
}

  【程序99】

  题目:有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列),
输出到一个新文件C中。

  1.程序分析:

  2.程序源代码:

#include "stdio.h"
main()
{
 FILE *fp;
 int i,j,n,ni;
 char c[160],t,ch;
 if((fp=fopen("A","r"))==NULL)
 {
  printf("file A cannot be opened\n");
  exit(0);
 }
 printf("\n A contents are :\n");
 for(i=0;(ch=fgetc(fp))!=EOF;i++)
 {
  c[i]=ch;
  putchar(c[i]);
 }
 fclose(fp);
 ni=i;
 if((fp=fopen("B","r"))==NULL)
 {
  printf("file B cannot be opened\n");
  exit(0);
 }
 printf("\n B contents are :\n");
 for(i=0;(ch=fgetc(fp))!=EOF;i++)
 {
  c[i]=ch;
  putchar(c[i]);
 }
 fclose(fp);
 n=i;
 for(i=0;i<n;i++)
  for(j=i+1;j<n;j++)
   if(c[i]>c[j])
   {
    t=c[i];c[i]=c[j];c[j]=t;
   }
   printf("\n C file is:\n");
   fp=fopen("C","w");
   for(i=0;i<n;i++)
   {
    putc(c[i],fp);
    putchar(c[i]);
   }
   fclose(fp);
}

  【程序100】

  题目:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件"stud"中。

  1.程序分析:

  2.程序源代码:

#include "stdio.h"
struct student
{
 char num[6];
 char name[8];
 int score[3];
 float avr;
} stu[5];
main()
{
 int i,j,sum;
 FILE *fp;
 /*input*/
 for(i=0;i<5;i++)
 {
  printf("\n please input No. %d score:\n",i);
  printf("stuNo:");
  scanf("%s",stu[i].num);
  printf("name:");
  scanf("%s",stu[i].name);
  sum=0;
  for(j=0;j<3;j++)
  {
   printf("score %d.",j+1);
   scanf("%d",&stu[i].score[j]);
   sum+=stu[i].score[j];
  }
  stu[i].avr=sum/3.0;
 }
 fp=fopen("stud","w");
 for(i=0;i<5;i++)
 if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1)
 printf("file write error\n");
 fclose(fp);
}
收藏 http://www.qqread.com/cpp/p902246300.html 更多文章 更多内容请看C/C++进阶技术文档专题,或进入讨论组讨论。
上一页 1 2 3 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章