1.如何以特定的格式输出数据?
#include <stdio.h>
int main(int argc, char *argv[])
{
double a=567.45,b=888.94;
printf("%8.2lf\n%8.2lf\n",a,b);
//共计八位,保留两位小数
printf("%8.2lf\n%8.2lf\n",a*2,b*2);
return 0;
}
输出结果(已经对齐)
567.45
888.94
1134.90
1777.88
从上述程序中,“%8.2lf”中的8.2是表示整个数字占用八个字符,其中小数点占用一位,小数点后面的数字占两位,如果整个数字不足八位,则余下的会显示为空格。
2.日期的格式化表示
#include <stdio.h>
int main(int argc, char *argv[])
{
printf("today is %d-%02d-%02d\n",2024,3,31);
return 0;
}
输出结果
today is 2024-03-31
修饰符格式
1、M
%md 以宽度m输出整型数,不足m时,左补空格
2、0m
%0md 以宽度m输出整型数,不足m时,左补零
3、m,n
%m.nf 以宽度m输出实型小数,小数位为n位
3.I/O重定向包括输入重定向和输出重定向
(sqr是平方的程序;文件in.txt中含有数字6)
(使用cmd命令运行)
D:\>cd code\pipe
D:\code\pipe>sqr <in.txt
36
D:\code\pipe>sqr <in.txt >out.txt
生成输出的文件out.txt,内容为36
4.管道机制
是一个由标准输入输出链接起来的进程集合,每一个进程的输出都是下一个进程的输入。特征有垂直线 |
D:\code\pipe>echo 3 4 | aplusb
7
D:\code\pipe>echo 10 | sqr
100
D:\code\pipe>echo 3 4 | aplusb | sqr
49
5.输入浮点数,输出保留两位小数的绝对值
法一:if判断
#include <stdio.h>
int main(int argc, char *argv[])
{
float a;
scanf("%f",&a);
if (a>=0)
{
a=a;
}
else
{
a = -a;
}
printf("%.2f",a);
return 0;
}
法二:调用数学函数
#include <stdio.h>
#include <math.h>
int main(int argc, char *argv[])
{
float a;
scanf("%f",&a);
a=fabs(a);
//fabs()取绝对值的函数
printf("%.2f",a);
return 0;
}