科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件C语言程序设计经典实例之十

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

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

时间函数举例

作者:佚名 来源:唯C世界 2007年10月28日

关键字: Linux

  • 评论
  • 分享微博
  • 分享邮件
【程序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);
}

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章