noi 1.1 6 空格分隔输出
描述
读入一个字符,一个整数,一个单精度浮点数,一个双精度浮点数,然后按顺序输出它们,并且要求在他们之间用一个空格分隔。输出浮点数时保留6位小数。
输入
共有四行:
第一行是一个字符;
第二行是一个整数;
第三行是一个单精度浮点数;
第四行是一个双精度浮点数。输出输出字符、整数、单精度浮点数和双精度浮点数,之间用空格分隔。
样例输入
a
12
2.3
3.2
样例输出
a 12 2.300000 3.200000
题意
输入一个字符串类型的变量,输入一个整数类型变量,输入一个单精度浮点数类型的变量,输入一个双精度浮点数类型的变量,然后输出他们,每个数之间要用一个空格隔开。
思路
1.变量类型:这里就用到了我之前讲的各个变量的类型,
第一个字符串类型(char):可以存入英文字母,字符,中文字母字符等。
第二个整数类型(int):可以存入整数,不包含浮点数,俗称小数的那货,不包含啊!没法存。
第三个浮点数类型:1.单精度浮点数(float):存入一个有小数点的数。2.双精度浮点数(double):存入一个有小数点的数。这里注意一下,这俩货不能通用,一般情况下我们使用双精度浮点数,如果题目有要求我们使用单精度浮点数。
2.各个类型的输出:各个类型的变量输出也是不一样的,整数类型和字符串类型都是用cout来输出的,而浮点数就无法用cout输出了,我们就需要用printf输出。
3.如何按照题目要求输出:题目要求每个数和每个数之间是有一个空格为间隔的,而cout可以办到(cout<<" ")那么,我们再做一个实验:
程序运行:
#include<cmath>
using namespace std;
int main(){
int a,b;
cin>>a>>b;
cout<<a<<b;
return 0;
}
运行后我们会发现两个数之间是没有空格也没有换行的。
程序运行:
#include<iostream>
#include<cmath>
using namespace std;
int main(){
char a;
double b;
cin>>a>>b;
printf("%.3",a);
printf("%.3",b);
return 0;
}
运行后我们发现,他们俩货喜欢贴贴!/挨在一起!所以,我们就可以利用这个bug,啊不!特性~~~,c语言哪有什么bug呢~~~,再根据cout<<" "会输出一个空格我们就可以做出这道题。
无脑输出中~~~
代码实现
#include<iostream>
using namespace std;
int main(){
char a;
int b;
float c;
double d;
cin >>a>>b>>c>>d;//无脑进行一波输入。
cout<<a<<" "<<b<<" ";//输出第一个字符串类型后输出一个。
printf("%.6f",c);//先输出第一个单精度浮点数。
cout<<" ";//输出一个空格。
printf("%.6f",d); //输出第二个双精度浮点数。
return 0;
}