荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: huhaiming (一生只爱她), 信区: Program
标 题: 文件输入输出举个例子
发信站: 荔园晨风BBS站 (Sat May 3 10:20:28 2003), 站内信件
举例,输入有两行,第一行有n+1个数,第一个数为n,第二个到第n+1个数为这n个数
第二行为一个字符串
把这n个数和字符串反转输出
输出有两行,第一行为n个数的反转输出,第二行为字符串的反转输出
//为了举例,设定n和字符串的长度均不超过10
建立一个test.in文件,输入为
5 1 2 3 4 5
abcdefg
那么对应的输出文件test.out为
5 4 3 2 1
gfedcba
在C中实现的代码为:
#include <stdio.h>
#include <string.h>
int a[10];
char str[10];
void inverse_int(int t[],int len)
{
int i,j;
for(j=len-1,i=0;i<j;i++,j--)
t[i]=t[i]+t[j]-(t[j]=t[i]);
}
void inverse_char(char s[])
{
int i,j;
for(j=strlen(s)-1,i=0;i<j;i++,j--)
s[i]=s[i]+s[j]-(s[j]=s[i]);
}
int main()
{
int i,n;
freopen("test.in","r",stdin);
freopen("test.out","w",stdout);
//当把freopen("test.out","w",stdout);注释掉,输出结果就变成在屏幕上了
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
inverse_int(a,n);
for(i=0;i<n-1;i++)
printf("%d ",a[i]);
printf("%d\n",a[i]);
scanf("%s",str);
inverse_char(str);
printf("%s\n",str);
return 0;
}
C++实现的代码:
#include <stdio.h>
#include <string.h>
#include <iostream.h>
#include<fstream.h>
int a[10];
char str[10];
void inverse_int(int t[],int len)
{
int i,j;
for(j=len-1,i=0;i<j;i++,j--)
t[i]=t[i]+t[j]-(t[j]=t[i]);
}
void inverse_char(char s[])
{
int i,j;
for(j=strlen(s)-1,i=0;i<j;i++,j--)
s[i]=s[i]+s[j]-(s[j]=s[i]);
}
int main()
{
int i,n;
ifstream cin("test.in");
ofstream cout("test.out");
cin>>n;
for(i=0;i<n;i++)
cin>>a[i];
inverse_int(a,n);
for(i=0;i<n-1;i++)
cout<<a[i]<<" ";
cout<<a[i]<<endl;
cin>>str;
inverse_char(str);
cout<<str<<endl;
return 0;
}
--
菩提本无树,明镜亦非台
本来无一物,何处惹尘埃
※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.0.200]
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店