

#include
#include
int main()
{
float a = 0.00001;
float b = 3000000;
float c = 12345678.84;
float d = 11.229338455;
printf("a=%g \nb=%g \nc=%g \nd=%g\n", a, b, c, d);
printf("c=%e\n", c);
/*
%g以最短的方式来输出小数,让输出结果更加简练。所谓最短,就是输出结果占用最少的字符。
但是比较长时有损失数据的问题出现
%e是科学计数法输出数字,最多八位底数,多余8位会损失数据
*/
/*
小数赋值给整数类型时,会丢掉小数部分
整型赋值给小数会在,小数点后加0
%f 和 %lf 默认保留六位小数,不足六位以 0 补齐,超过六位按四舍五入截断。
*/
int f = 123.0123f;
printf("%d\n", f);
double g = f;
printf("%lf\n", g);
return 0;
}
%[flag][width][.precision]type
type 表示输出类型,必须有

.precision 表示输出精度,也就是小数的位数
width 表示最小输出宽度,占几位
flag 是标志字符。

#include
int main()
{
int a1 = 20, a2 = 345, a3 = 700, a4 = 22;
int b1 = 56720, b2 = 9999, b3 = 20098, b4 = 2;
int c1 = 233, c2 = 205, c3 = 1, c4 = 6666;
int d1 = 34, d2 = 0, d3 = 23, d4 = 23006783;
printf("%-9d %-9d %-9d %-9d\n", a1, a2, a3, a4);
printf("%-9d %-9d %-9d %-9d\n", b1, b2, b3, b4);
printf("%-9d %-9d %-9d %-9d\n", c1, c2, c3, c4);
printf("%-9d %-9d %-9d %-9d\n", d1, d2, d3, d4);
printf("\n");
printf("%9d %9d %9d %9d\n", a1, a2, a3, a4);
printf("%9d %9d %9d %9d\n", b1, b2, b3, b4);
printf("%9d %9d %9d %9d\n", c1, c2, c3, c4);
printf("%9d %9d %9d %9d\n", d1, d2, d3, d4);
return 0;
}
%-9d中,d表示以十进制输出,9表示最少占9个字符的宽度,宽度不足以空格补齐,-表示左对齐。综合起来,%-9d表示以十进制输出,左对齐


#include
int main()
{
char letter;
int age;
char url[30];
float price;
scanf("%c", &letter);
scanf("%d", &age);
scanf("%s", url); //可以加&也可以不加&
scanf("%f", &price);
printf("26个英文字母的最后一个是 %c。\n", letter);
printf("C语言中文网已经成立%d年了,网址是 %s,开通VIP会员的价格是%g。\n", age, url, price);
char author[30], lang[30], url[30];
scanf("%s %s", author, lang);
printf("author:%s \nlang: %s\n", author, lang);
scanf("%s", url);
printf("url: %s\n", url);
return 0;
}