首页产品库评测行情新闻|手机数码笔记本台式机DIY硬件数字家庭数码相机办公外设|软件下载游戏开发|社区

更多

数码相机
MP4
LCD
机箱
音箱

天极网 > 开发频道>C语言程序设计经典实例之十

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

2004-07-15 11:05作者:出处:唯C世界责任编辑:方舟

  【程序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);
}
共3页。 9 1 2 3

关注此文的读者还看过:

返回开发频道首页

共3页。 上一页123

软件频道最新更新

热点推荐

天极服务|关于我们|About us|网站律师|RSS订阅|友情合作|加入我们|天极动态|网站地图|意见反馈|MSN/QQ上看天极
Copyright (C) 1999-2012 Yesky.com, All Rights Reserved 版权所有 天极网络