解题思路:
本题考查C语言输入输出格式。

scanf和printf是两个相当强大的函数。

scanf:

测试环境:

Windows 10 Dev-C++

程序测试:

微信图片_20190108191948.png

%3d表示接受三位整数

例如:

scanf("%3d",&a);

输入3456789

a中接受到的数是345,其他的6789都到输入缓冲区了。


printf:

%8d是将数字按宽度为8,采用右对齐方式输出,如果数据位数不到8位,则左边补空格。

%-8d将数字按宽度为8,采用左对齐方式输出,如果数据位数不到8位,则左边补空格。

%08d:默认情况下,数据数据宽度不够8位是用空格填补的,但是因为8d前面有0,表示,数据宽度不足时用0填补。

%.8d和%08d一样。

%-8d将数字按宽度为8,采用右对齐方式输出,如果数据位数不到8位,则左边补空格。

例如:

printf("%6.4d\n",312);

输出结果为 0312,宽度为6,有效数字为4位。其中区别,仔细品味。


注意事项:

参考代码:

#include <stdio.h>

int main()
{
	int a;
	double b;
	char ch;
	scanf("%3d%lf|%c",&a,&b,&ch);
	printf("%-8d|%8.1lf|%c",a,b,ch);
	return 0;
}


点赞(5)
 

0.0分

13 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 2 条评论

来了 3年前 回复TA
zheng bang
LBD西瓜泥 3年前 回复TA
没看懂