C语言练习
来源:互联网 发布:淘宝客服新人自我介绍 编辑:程序博客网 时间:2024/05/17 12:22
练习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语言练习1
- C语言综合练习
- c语言练习1
- c语言练习2
- c语言练习3
- c语言练习4
- c语言练习5
- c语言练习6
- c语言练习7
- c语言练习8
- c语言练习9
- c语言练习10
- c语言练习11
- C语言练习(1)
- C语言练习(2)
- c语言练习
- C语言练习
- c语言练习
- 使用Arrays对数组进行排序(二)
- 结构体程序设计(二)
- BroadcastReceiver的使用和两种注册方式之间的区别
- Sqlserver合并复制的web同步详解(转微软三篇)3
- 网球计分
- C语言练习
- 转帖:DirectShow 在VS2005中环境配置
- poj 1269 Intersecting Lines
- 委托与事件以及应用
- USB协议枚举
- “finally block does not complete normally”的警告
- jvm 系列之一 参数配置
- easyui datagrid中添加右键菜单事件
- http dynamic streaming