【问题描述】 编程序,对 k=1,2,3,…,14,15,按下式分别计算出 15 组(i,d,c):整数 i=2*k-1;实数 d=k*k+k-9.8;字符 c='H'+k。并通过使用运算符“<<”将这15组数据保存到当前目录下自定义的text型磁盘文件ft.txt之中。 【输入形式】 无 【输出形式】 文件内容要求:每组占一行,每行中的输出项用一个空格进行分割。 【样例输入】 无 【样例输出】 文件内容格式如下: 1 -7.8 I 3 -3.8 J 5 2.2 K 7 10.2 L ....以下省略...
#include<iostream> #include<fstream> using namespace std; int main() { ofstream fout; fout.open("ft.txt"); for(int k=1;k<=15;k++) { fout<<2*k-1<<" "<<1.*k*k+k-9.8<<" "<<char('H'+k)<<endl; } fout.close(); return 0; }
2. 【问题描述】 通过使用运算符“>>”和“<<”,对自定义的text型磁盘文件进行如下的指定操作。 (1)对i=1,2,3,...,15,计算d=i*i+0.5,并将15个结果写出到自定义的text型磁盘文件f1.txt中(注意,f1文件中的数据从小到大有序); (2)对i=1,2,3,...,10,计算d=10*i+0.5,并将10个结果写出到自定义的text型磁盘文件f2.txt中,而后再写出第11个数:357.9(注意,f2文件中的数据也从小到大有序); (3)读出文件f1.txt以及f2.txt中的数据,用来形成text型磁盘文件f3.txt,但要求存放于f3.txt中的数据仍然是有序的(按照从小到大的顺序); 【输入形式】 无 【输出形式】 输出到f3.txt文件中(一行,数据间间隔为一个空格) 【样例输入】 无 【样例输出】 1.5 4.5 9.5 10.5 16.5...(以下略)
#include<iostream> #include<cstdio> #include<cstring> #include<fstream> #include<algorithm> using namespace std; double a[30]; int main() { ofstream fout("f1.txt"); for(int i=1;i<=15;i++) fout<<(a[i]=1.*i*i+0.5)<<" "; fout.close(); fout.open("f2.txt"); for(int i=1;i<=10;i++) fout<<(a[i+15]=10.*i+0.5)<<" "; fout<<(a[26]=357.9); fout.close(); ifstream fin1("f1.txt"); ifstream fin2("f2.txt"); for(int i=1;i<=15;i++) fin1>>a[i]; for(int i=16;i<=26;i++) fin2>>a[i]; sort(a+1,a+26+1); fout.open("f3.txt"); for(int i=1;i<=26;i++) fout<<a[i]<<" "; fout.close(); fin1.close(); fin2.close(); return 0; }
3. 【问题描述】 使用 getline 成员函数读入某个text文件(f5.txt)中的“一篇文章”(如可以是一个C++源程序,文件名由用户从键盘输入),而后将该文件的各空行以及各程序行中的注解均删除掉(认为该行中从第一个双撇符号“//”开始直至行末的所有符号为注解),并将删除注解后的结果行写出到另一个文件(f6.txt)中。 【输入形式】 逐行读入文件f5.txt的内容。 【输出形式】 【样例输入】 文件f5.txt的内容如下: //This is test #include <iostream> int main() { cout<<"Hello World"<<endl; return 0; } 【样例输出】 文件f6.txt的内容如下: #include <iostream> int main() { cout<<"Hello World"<<endl; return 0; } 【样例说明】逐行读取文件,不要使用文件结束符EOF(),使用while (getline(file,str))将file此行数据存取到string类型的变量str中。
#include<iostream> #include<cstdio> #include<fstream> #include<iomanip> #include<cstring> #include<algorithm> using namespace std; char s[101]; int main() { ifstream fin("f5.txt"); ofstream fout("f6.txt"); while(fin.getline(s,100)) { int len=strlen(s); if(len==0||s[0]=='/') continue; for(int i=0;i<len;i++) { if(s[i]=='/') break; fout<<s[i]; } fout<<endl; } fin.close(); fout.close(); return 0; }