解题思路:





注意事项:

printf的格式化,很多文章都有写。

现在把一个8进制,16进制的输出细节拎出来,可以方便其他人查找。

使用printf输出8进制,16进制方法如下。

无前缀方式

printf("%o",num)  //无前缀o的8进制数

printf("%x",num)  //无前缀0x的小写16进制数

printf("%X",num) //无前缀0x的大写16进制数


有前缀方式

printf("%#o",num)  //有前缀o的8进制数


printf("%#x",num)  //有前缀0x的小写16进制数

printf("%#X",num) //有前缀0x的大写16进制数






参考代码:

#include<stdio.h>

int main()

{

    int a;

    scanf("%d",&a);

    printf("%#o %d %#x\n",a,a,a);

    return 0;

}


点赞(36)
 

0.0分

8 人评分

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

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

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

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

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

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

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

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

评论列表 共有 10 条评论

庞发月 4年前 回复TA
为什么要前缀?
司机是个大坏蛋 5年前 回复TA
@纯纯的白 我这个代码是在codeblocks上运行的,你试试粘贴花括号里的内容,应该可以运行
司机是个大坏蛋 5年前 回复TA
@纯纯的白 vs的头文件不是#include<stdio.h>,scanf&#039; may be unsafe,要用scanf_s
纯纯的白 5年前 回复TA
为啥 这串代码 我在VS上运行 显示失败
1>------ 已启动生成: 项目: Project1, 配置: Debug Win32 ------
1>1.c
1>e:\c语言\project1\project1\1.c(9): error C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>g:\windows kits\10\include\10.0.17763.0\ucrt\stdio.h(1274): note: 参见“scanf”的声明
1>已完成生成项目“Project1.vcxproj”的操作 - 失败。
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
5年前 回复TA
@天天向上 没a就没意义了~-~
天天向上 5年前 回复TA
为啥最后换行之后要有(,a,a,a)呢?
angus 6年前 回复TA
为什么加上scanf那行以后dev-c++运行以后什么都没有啊
教你夺冠 6年前 回复TA
学习啦~参考记录一下
秋月 6年前 回复TA
是正确的
ET 7年前 回复TA
66666666666