• 分享
  • C++基础(5)数据输入与输出

  • @ 2023-7-3 14:12:48

C++语言中没有提供专门的输入输出语句,所有的输入输出都是调用标准库函数中的输入输出函数来实现的。在使用时,应在源程序的开头使用如下语句:

#include<iostream>
 #include<cstdio>
 using namespace std;

C++语言标准函数库提供了许多标准输入、输出函数,其中有6个常用的基本输入、输出函数: (1)流输入cin,流输出cout。 (2)字符输入getchar,字符输出putchar (3)格式化输入scanf,格式化输出prinf 几种输入输出格式的几点说明:

1、cin和cout在Dev C++中只能调用库,而其他输入输出格式要调用库或<stdio.h>库。 2、cin和cout属于C++的概念,调用时涉及输入输出流,而scanf和printf属于C的概念,是C语言的标准输入/输出库中的函数,所以在时效上,scanf和printf优于cin、cout,对于大数据的输入输出,通常情况下应该用scanf、printf。 3、对于普通数据的输入输出,cin和cout比较方便,而在格式化方面,scanf和printf比较容易。cin效率比scanf低很多,尤其输入数据达到20万以上时非常明显,在100万时cin读入就会超时。 4、scanf和printf也缺点,cin和cout能够自动识别变量的数据类型,因此,在进行输入输出时,不需要指定数据类型,printf和scanf函数在输入输出时需指定数据类型。

4.对齐输出

读入三个整数,按每个整数占8个字符的宽度,右对齐输出它们。

输入:

只有一行,包含三个整数,整数之间以一个空格分开。

输出:

只有一行,按照格式要求依次输出三个整数,之间以一个空格分开。

样例输入:

** 123456789 0 -1**

样例输出:

** 123456789 0 -1**

#include<cstdio>  //使用csanf、printf,须调用sctdio库
 ​
 using namespace std;
 ​
 int main()
 ​
 {
 ​
     int a,b,c;
 ​
  //int定义a,b,c为整型变量
 ​
     scanf("%d%d%d",&a,&b,&c);
 ​
 //输入给定3个整数变量的值,注意“&”符号不能漏
 ​
     printf("%8d %8d %8d\n",a,b,c) ;
 ​
 //使用printf按指定格式输出,注意%8d %8d %8之间要有空格
 ​
     return 0;
 ​
 }

5.输出保留3位小数的浮点数

读入一个单精度浮点数,保留3位小数输出这个浮点数。

输入:

只有一行,一个单精度浮点数。

输出:

也只有一行,读入的单精度浮点数。

样例输入:

** 12.34521**

样例输出:

** 12.345**

#include<cstdio>
 ​
 using namespace std;
 ​
 int main()
 ​
 {
 ​
     float f;
 ​
  //float 定义f为浮点型变量
 ​
     scanf("%f",&f);
 ​
 //输入给定浮点型变量的值,注意“&”符号不能漏
 ​
     printf("%.3f",f);
 ​
 //用"%.3f"指定输出格式为保留3位小数的单精度浮点型
 ​
     return 0;
 ​
 }

6.输出保留12位小数的浮点数

读入一个双精度浮点数,保留12位小数,输出这个浮点数。

输入:

只有一行,一个双精度浮点数。

输出:

也只有一行,保留12位小数的浮点数。

样例输入:

** 3.1415926535798932**

样例输出:

** 3.141592653580**

#include<cstdio>
 ​
 using namespace std;
 ​
 int main()
 ​
 {
 ​
     double a;
 ​
     scanf("%lf",&a);
 ​
     printf("%.12lf",a);
 ​
     return 0;   
 ​
 }

7.空格分隔输出

** 读入一个字符,一个整数,一个单精度浮点数,一个双精度浮点数,然后按顺序输出它们,并且要求在他们之间用一个空格分隔。输出浮点数时保留6位小数。**

输入:

** 共有四行:** ** 第一行是一个字符;** ** 第二行是一个整数;** ** 第三行是一个单精度浮点数;** ** 第四行是一个双精度浮点数。**

输出:

输出字符、整数、单精度浮点数和双精度浮点数,之间用空格分隔。

样例输入:

** a**

** 12**

** 2.3**

** 3.2**

样例输出:

** a 12 2.300000 3.200000**

#include<cstdio>
 ​
 using namespace std;
 ​
 int main()
 ​
 {
 ​
     char c;
 ​
  //char 定义c为字符型变量
 ​
     int a;
 ​
  //int 定义a为整数型变量
 ​
     float f;
 ​
  //float 定义f为单精度浮点型变量
 ​
     double d;
 ​
  //double 定义d为双精度浮点型变量
 ​
     scanf("%c%d%f%lf",&c,&a,&f,&d);
 ​
  //输入给定类型变量的值,注意“&”符号不能漏
 ​
     printf("%c %d %.6f %.6lf",c,a,f,d);
 ​
 //按指定格式输出,注意空格不能漏
 ​
     return 0;   
 ​
 }

8.输出浮点数

** 读入一个双精度浮点数,分别按输出格式“%f”,“%f”保留5数,“%e”和“%g”的形式输出这个整数,每次在单独一行上输出。**

输入:

** 一个双精度浮点数。**

输出:

** 输出有四行:** ** 第一行是按“%f”输出的双精度浮点数;** ** 第二行是按“%f”保留5位小数输出的双精度浮点数;** ** 第三行是按“%e”输出的双精度浮点数;** ** 第四行是按“%g”输出的双精度浮点数。**

样例输入:

** 12.3456789**

样例输出:

** 12.345679**

** 12.34568**

** 1.234568e+001**

** 12.3457**

#include<cstdio>
 ​
 using namespace std;
 ​
 int main()
 ​
 {
 ​
     double d;
 ​
  //double 定义d为双精度浮点型变量
 ​
     scanf("%lf",&d);
 ​
  //输入双精度变量的值,注意“格式为lf”
 ​
     printf("%f\n%.5f\n%e\n%g\n",d,d,d,d);
 ​
 //按指定格式输出,注意输出中“%”出现4次,后面对应的变量名也要出现4次。
 ​
     return 0;   
 ​
 }

9.字符三角形

给定一个字符,用它构造一个底边长5个字符,高3个字符的等腰字符三角形。

输入:

** 输入只有一行, 包含一个字符。**

输出:

该字符构成的等腰三角形,底边长5个字符,高3个字符。

样例输入:

** ***

样例输出:

** ***

** *****

** *(5个)**

#include<cstdio>
 ​
 //使用printf,须调用sctdio库
 ​
 #include<iostream>
 ​
 //使用cin,须调用iostream库
 ​
 using namespace std;
 int main()
 {
     char a;
 ​
  //char 定义a为字符型变量
 ​
     cin>>a;
 ​
     cout<<"  "<<a<<endl;
     cout<<" "<<a<<a<<a<<endl;
     cout<<a<<a<<a<<a<<a<<endl;
     return 0;
 }
 ​
  //scanf、printf和cin、cout默认情况下是同步的,也就是说你可以在同一个程序中混用两种读入输出方式。

0 条评论

目前还没有评论...