解题思路:
关于scanf的用法:
scanf是scan format 的缩写,意为输入格式,是一种标准库函数。
scanf()【通过键盘将数据输入到变量中】
它有两种用法:
用法一: scanf(“输入控制符”,输入参数);
功能: 将从键盘输入的字符转化为输入控制符所规定格式的数据,然后存入已输入参数的值为地址的变量中。
例如:
# include <stdio.h>
int main(void)
{
int i;
scanf("%d",&i);//如果输入123
printf("i=%d\n",i);//输出结果为i=123
return 0;
}
用法二: scanf(“非输入控制符 输入控制符”,输入参数);
功能: 将从键盘输入的字符转化为输入控制符所规定格式的数据,然后存入已输入参数的值为地址的变量中(非输入控制符必须原样输入)。
例如:
# include <stdio.h>
int main(void)
{
int i;
scanf("m%d",&i);//输入m123正确,输入123错误
printf("i=%d\n",i);//输入m123,输出结果为i=123
return 0;
}
最后此为原文,感谢大佬! https://blog.csdn.net/u012421456/article/details/18501309
关于进制的表示:
八进制:octal,以数字0开始表示
十进制:decimal,以英文字母d开始表示
十六进制:hexadecimal,以英文字母x或者X表示
使用printf输出8进制,16进制方法如下:
无前缀方式:
printf("%o",num) //无前缀o的8进制数
printf("%d",num) //无前缀0d的10进制数
printf("%x",num) //无前缀0x的小写16进制数
printf("%X",num) //无前缀0X的大写16进制数
有前缀方式:
printf("%#o",num) //有前缀o的8进制数
printf("%#d",num) //有前缀0d的10进制数
printf("%#x",num) //有前缀0x的小写16进制数
printf("%#X",num) //有前缀0X的大写16进制数
注意事项:
记得该空格的空格,改换行的换行。
记得切换英文的输入法来用括号、双引号、逗号、分号等等。
参考代码
#include <stdio.h>
int main()
{
int n;
scanf("%d", &n);
//printf("%o %d %x\n", n, n, n);
printf("%#o %#d %#x\n", n, n, n);
return 0;
}
0.0分
94 人评分