借此复习一下printf格式码:
%d —— 以十进制形式打印一个整型值
%o —— 八进制
%x —— 十六进制
参考代码如下:
#include <stdio.h> #include <stdlib.h> #include <string.h> int main() { int num; scanf("%d", &num); printf("%o", num); return 0; }
还有另一种求法,用来学习~
#include <stdio.h> int main() { int num; scanf("%d", &num); int rest = num % 8; //rest用来保留最后一位 while (num / 8 != 0) { num = num / 8; putchar(num + '0'); //以ascii码的形式打印 } putchar(rest + '0'); return 0; }
0.0分
107 人评分
求问这个为什么不对 #include <stdio.h> #include <stdlib.h> int main() { int j,m,k; int a; scanf("%d",&m); k=m/8; j=m%8; a=10*k+j; printf("%d",a); return 0; }
第一种方法#include <stdlib.h> #include <string.h>不带上为啥不对呀
渐入佳境. 2021-03-19 19:24:51 |
我这两个头文件都没有,通过了
uq_51480647670 2021-10-27 23:44:06 |
我都没带这两个头文件,通过了
第三种 #include<stdio.h> void Octal(int x){ if(x>0){ Octal(x/8); printf("%d",x%8); } } int main(void) { int x=0; scanf("%d",&x); Octal(x); return 0; }
阳春 2021-03-15 18:12:50 |
太厉害了
#include <stdio.h> #include <math.h> int main(void) { int i = 0, num = 0, div = 0, rem = 0, onum = 0; scanf("%d", &num); while (1) { div = num/8; rem = num%8; onum += pow(10,i++)*rem; if (0 == div)break; num = div; } printf("%d", onum); return 0; } 这样可以代替第二种方法
请问第一种方法#include <stdlib.h> #include <string.h>这两个头文件可以不带上吗
Hello, world! (C语言代码)浏览:808 |
C语言程序设计教程(第三版)课后习题6.8 (C语言代码)浏览:610 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:662 |
1162答案错误,为什么浏览:638 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:553 |
1250题解浏览:555 |
1199题解浏览:653 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:483 |
1025题 初学者,求帮忙看下,不知道哪错了浏览:316 |
C语言程序设计教程(第三版)课后习题6.7 (C语言代码)浏览:588 |
阳春 2021-03-12 20:35:54 |
好吧我知道错了
夜羊s 2022-03-19 23:17:18 |
用暴力肯定没这么短