mooc第十三周_c++输入输出流和文件操作

这篇博客涵盖了C++中的输入输出流操作,包括计算平方根并精确输出、文件I/O、读写文件、处理文本内容、字符转换、数字平均值计算以及文件内容排序等实践案例。
摘要由CSDN通过智能技术生成

在这里插入图片描述在这里插入图片描述在这里插入图片描述

计算某个正整数平方根,并按要求输出(20分)

题目内容:
输入一个正整数。计算其平方根(用sqrt函数),并将结果按取1~6位小数分六行显示出来。

输入格式:
输入一个正整数。
输出格式:
计算结果分6行显示,小数位数依次取1~6位。

输入样例:
2
输出样例:
1.4
1.41
1.414
1.4142
1.41421
1.414214

#include<iostream>
#include<cmath>
using namespace std;
int main(){
   
	double n;
	cin>>n; 
	n=sqrt(n);
	cout.setf(ios::fixed);
	for(int i=1;i<=6;i++){
   
		cout.precision(i);
		cout<<n<<endl;
	}
}

在这里插入图片描述

#include<iostream>
using namespace std;
int main(){
   
	int w,lr;//lr=1左,0右
	char c;
	int n=1;
	cin>>w>>c>>lr;
	
	cout.fill(c);
	
	if(lr==1) cout.setf(ios::left);
	else cout.setf(ios::right);
	
	for(int i=0;i<w-1;i++){
   
		cout<<"#";
		cout.width(w);//0,w+1为#,只对下一次有效 
		cout<<n;//width中n填不满的地方用输入的字符c 
		n=n*10;
		cout<<"#"<<endl;
	} 
}

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

#include<iostream>
#include<fstream>
using namespace std;
int main(){
   
	ifstream in("file.txt");
	char fname[100]={
   0};
	cout<<"请输入输出文件名:";
	cin>>fname;                    //如grade.txt,带后缀 
	ofstream out(fname);
	if(!in||!out){
   
		cout<<"打开文件失败";
		return 0;
	}
	
	char name[20]={
   0};
	int a,b,c,sum;
	while(in){
   
		in>>name>>a>>b>>c;
		if(in){
   
			sum=a+b+c;
			out<<name<<"\t"<<a<<"\t"<<b<<"\t"<<c<<"\t"<<sum/3.0<<"\n";
		}
	}
	in.close();
	out.close();
}
#include<iostream>
#include<fstream>
using namespace std;

int main(){
   
	char name[20];
	int a,b,c;
	ifstream file1;
	ofstream file2; 
	file1.open("file.txt",ios::in);
	file2.open("ave.txt");
	if(!file1||!file2){
   
		cout<<"不可以打开文件!";
		return 1;
	}

	while(file1){
   
		file1>>name>>a>>b>>c;
		if(file1){
   
			float ave = (a+b+c)/3.0;
			file2.setf(ios::fixed);  //!!!!格式控制同上 
			file2.precision(3); 
			file2<<name<<"\t"<<a<<'\t'<<b<<'\t'<<c<<'\t'<<ave<<endl;
		}
	}
	
	file1.close();
	file2.close();
}

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述注意洗牌那里随机数

#include<iostream>
#include<fstream>
#include<cstring>
#include<time.h>//!!!!!!!!!
#include<stdlib.h>//!!!!!!!!
using namespace std;
struct puke{
   
	char face[20];
	char n;
};
struct paishou{
   
	puke pu[13];
};
int main(){
   
	char f[4][20]={
   {
   "红桃"},{
   "黑桃"},{
   "梅花"},{
   "方块"}};
	char n[14]={
   'A','2','3','4','5','6','7','8','9','10','J','Q','K'};
	//初始52张扑克牌 
	cout<<"开始初始化"<<endl;
	puke p[52];
	int k=0;
	for(int i=0;i<4;i++){
   
		for(int j=0;j<13;j++){
   
			strcpy(p[k].face,f[i]);
			p[k].n=n[j];
			k++;
		}
	}
	cout<<"初始化完成"<<endl;
	//洗牌
	cout<<"开始洗牌"<<endl;
	srand(time(NULL));//!!!!!!!!!!!!!!
	for(int i=0;i<52;i++){
   
		int x=rand()%52;//!!!!!!!!!!!!!!
		puke t=p[x];
		p[x]=p[i];
		p[i]=t;
	}
	cout<<"洗牌完成"<<endl;
	//发牌
	cout<<"开始发牌"<<endl;
	paishou s[4];
	k=0;
	for(int i=0;i<4;i++){
   
		for(int j=0;j<13;j++){
   
			strcpy(s[i].pu[j].face,p[k].face);
			s[i].pu[j].n=p[k].n; 
			k++;
		}
	} 
	cout<<"发牌完成"<<endl;
	//保存到puke.txt
	ofstream file1("puke.txt");
	if(!file1) {
   
		cout<<"打开文件失败!";
		return 1;
	}
	for(int i=0;i<4;i++){
   
		file1<<"第"<<i+1<<"个牌手:"<<endl; 
		for(int j=0;j&
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值