|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 HeroBrine404 于 2021-8-25 23:49 编辑
本来看到最后一题我人都傻了,然后好不容易磕出来,最后发现和答案天壤之别?
这是我的代码:
- #include <stdio.h>
- int main()
- {
- char F;
- char i;
- char s;
- char h;
- char C;
- char o;
- int a;
- int b;
- float d;
- double k;
- F = 70; i = 105; s = 115; h = 104; C = 67; a = 2015; o = 0; b = 0; d = 3.1416; k = 520000.0;
- printf("打印五个字符:%c %c %c %c %c\n",70,105,115,104,67);
- printf("前面用 填充:%c%c%c%c%c%c%d\n",o,o,o,o,o,o,a);
- printf("前面用0填充:%d%d%d%d%d%d%d\n",b,b,b,b,b,b,a);
- printf("右对齐,保留两位:%c%c%c%c%c%.2f\n",o,o,o,o,o,d);
- printf("左对齐,保留三位:%.3f\n",d);
- printf("右对齐,指数形式:%e\n",k);
- printf("左对齐,指数形式:%E\n",k);
- return 0;
- }
复制代码
我用了而且说明了很多变量,但是小甲鱼的答案却只是这样:
- #include <stdio.h>
- int main()
- {
- printf("打印五个字符:%c %c %c %c %c\n", 70, 105, 115, 104, 67);
- printf("前边用 填充:%10d\n", 2015);
- printf("前边用0填充:%010d\n", 2015);
- printf("右对齐,保留2位:%10.2f\n", 3.1416);
- printf("左对齐,保留3位:%-10.3f\n", 3.1416);
- printf("右对齐,指数形式:%10e\n", 520000.0);
- printf("左对齐,指数形式:%-10E\n", 520000.0);
- return 0;
- }
复制代码
就想问问大佬小甲鱼为什么可以不设变量就直接用%c代替的,还有括号里各种%10,%010代表什么。
萌新刚刚接触c语言,提问有不妥当之处请大佬们指教
(题目要求打印的东西如下)
%10d
10: (number) 要输出的字符的最小数目。如果输出的值短于该数,结果会用空格填充。如果输出的值长于该数,结果不会被截断。
d: d 以十进制形式输出带符号整数(正数不输出符号)
%010d
0: 0 在指定填充 padding 的数字左边放置零(0),而不是空格(参见 width 子说明符)。
10: (number) 要输出的字符的最小数目。如果输出的值短于该数,结果会用空格填充。如果输出的值长于该数,结果不会被截断。
d: d 以十进制形式输出带符号整数(正数不输出符号)
|
-
|