C语言练习

原创 2012年03月22日 13:20:59

练习1:

#include "stdlib.h"

#include "iostream.h"

#include "stdio.h"

void main()

{FILE *fp1,*fp2;

char ch,f1[10],f2[10];

cout<<"输入文件1的文件名:";

cin>>f1;

if((fp1=fopen(f1,"w+"))==NULL)

{printf("cannot open file\n");

exit(0);}

cout<<"输入文件1的数据内容(以‘#’结束)"<<endl;

ch=getchar();

while(ch!='#')

{fputc(ch,fp1);

ch=getchar();

}

Cout<<"输入文件2的文件名: ";

scanf("%s",b);

if((fp2=fopen(b,"w+"))==NULL)

{

printf("Cannot open file.");

exit(0);

}

rewind(fp1);

while(!feof(fp1))

fputc(fgetc(fp1),fp2);

printf("\n输出文件1:");

rewind(fp1);

while(!feof(fp1))

putchar(fgetc(fp1));

printf("\n输出文件2:");

rewind(fp2);

while(!feof(fp2))

putchar(fgetc(fp2));

printf("\n");

fclose(fp1);

fclose(fp2);

}

}

 

练习2:

#include "stdlib.h"

#include "iostream.h"

#include "stdio.h"

#define FORMAT "%d %s %d %d %d "

#define N 5

struct student

{

       intnum;

       charname[20];

       intscore[3];

}stu[N];

 

void input(char a[])             // a用于接收要写入数据的文件名

{

       inti;

       FILE*fp;

       if((fp=fopen(a,"w"))==NULL)

       {

              printf("Cannotopen file.");

              exit(0);

       }

       cout<<"输入学生的数据:"<<endl;

       for(i=0;i<N;i++)

       {

              scanf(FORMAT,&stu[i].num,stu[i].name,&stu[i].score);

              fprintf(fp,FORMAT,stu[i].num,stu[i].name,stu[i].score);

       }

       fclose(fp);

}

 

void output(char a[],int sn)      // sn用于接收要输出文件中的学生人数

{

 

       inti;

       FILE*fp;

       if((fp=fopen(a,"r"))==NULL)

       {

              printf("Cannotopen file.");

              exit(0);

       }

       cout<<endl<<"输出学生的数据:"<<endl;

       for(i=0;i<sn;i++)

       {

              fscanf(fp,FORMAT,&stu[i].num,stu[i].name,&stu[i].score);

              printf(FORMAT,stu[i].num,stu[i].name,stu[i].score);

              printf("\n");

       }

       fclose(fp);

}

 

int select(char a[],char b[])      // 函数返回值为挑选出来的学生人数

{

       intn,y,z,i;

       cout<<"输入课程号〈1—3〉:";

       cin>>n;

   cout<<endl<<"输入分数段<XX-YY>:";

       cin>>y>>z;

       cout<<y<<z;

       for(i=0;i<5;i++)

       if(stu[i].score[n]>y&&stu[i].score[n]<z)

       returni;

}

 

void main()

{

   int sn;

       input("stu.txt");

       output("stu.txt",N);

       sn=select("stu.txt","range.txt");

       output("range.txt",sn);

 

}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

C语言第七次作业练习

以下程序教材基于 谭浩强C程序设计(第四版)第1题 完成例6.9,有3个字符串,要求找出其中最大者。# include # include int main(void) { ch...

C语言第四课练习

一维数组、数组排序、字符数组

c语言基础,常用的几个练习小题目

c语言基础,常用的几个练习小题目//打印菱形 void ling(){ int a[7][7]; for (int i=0; i<=3;i++) { for (int ...

C语言第九次作业练习

以下程序教材基于 谭浩强C程序设计(第四版)第1题 教材P.218习题4。# includeint array[3][3];int main(void) { void convert(int ...

c语言练习

1、指针练习:交换两个指针变量的值 一级指针:*p,*q; int a=0,b=12; int *p=&a,*q=&b; printf("交换前:\n%d,%d,%d\n",p,...

《明解C语言》示例代码和练习代码[第11章]

《明解C语言》,作者:柴田望洋。书中第11章的示例代码和练习代码。

程序设计入门——C语言 翁恺 第6周编程练习

1分解质因数(5分)题目内容:每个非素数(合数)都可以写成几个素数(也可称为质数)相乘的形式,这几个素数就都叫做这个合数的质因数。比如,6可以被分解为2x3,而24可以被分解为2x2x2x3。现在,你...

C语言练习(5月17日更新)

题目来源: 算法面试:精选微软经典的算法面试100题(第1-20题) 发布时间:2010-10-11 18:56 算法面试:精选微软经典的算法面试100题 引言: 给...

黑马程序员——c语言基础:运算符和分支结构的一些注意点和练习

1.sizeof运算符 sizeof运算符是一个单目运算符 不是函数!  作用:计算常量、变量、数据类型 在内存中占用的字节数  1)用sizeof计算常量在内存中占用的字节数     si...

C语言练习3

// // main.c // exercise3 // // Created by Vision on 14-8-29. // #include #include int main(i...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)