借此复习一下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分
110 人评分
#include<stdio.h> int main() { int a,b[10],i=0,t; scanf("%d",&a); do{ t=a; a=a/8; b[i]=c%8; i++; } while(a!=0); for(i=i-1;i>=0;i--) { printf("%d",b[i]); } }
可还行? #include <iostream> using namespace std; int Change(int m) { if (m / 8 == 0) return m; else { return m % 8 + 10 * Change(m / 8); } } int main() { int m; cin >> m; cout<<Change(m); }
#include<iostream> using namespace std; // 编程,输入一个10进制正整数,然后输出它所对应的八进制数。 int main() { long long Dec,Oct=0,Inter,Power=1; cin >> Dec; while(1){ Inter=Dec%8; if(Inter==0 && Dec<10){ Oct += Dec/8*Power*10; break; } Dec=Dec/8; Oct += Inter*Power; Power*=10; } cout << Oct; return 0; }//除8取余法
#include <stdio.h> int main() { int a[20],n,i=0,j; printf("请输入一个十进制正整数:"); scanf("%d",&n); j=n; do { a[i]=j-j/8*8; printf("a[%d]=%d\n",i,a[i]); j=j/8; i++; }while(j/8!=0); if(j/8==0) { a[i]=j%8; printf("a[%d]=%d\n",i,a[i]); } printf("十进制数%d转化为八进制数为0",n); for(j=i;j>=0;j--) { printf("%d",a[j]); } printf("\n"); return 0; }
#include<stdio.h> int mi(int x); int mi(int x) {int n,sum; sum=1; for(n=1;n<=x;n++) { sum*=8; } return(sum); } int main() { int m,b[100]={0},i,j,n,k; m=0; i=1; int mi(int x); scanf("%d",&m); n=m; for(i=1;;i++) { n/=8; if(n==0) break; } k=i; for(j=0;i-1>=0;i--) {b[j]=m/mi(i-1); m%=mi(i-1); j++; } for(j=0;j<k;j++) printf("%d",b[j]); return 0; } 直接暴力,新手只会暴力,太弱了,那种用递归和直接转的方法我真的好羡慕,想不到。
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:623 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:941 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:593 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:821 |
1014题解浏览:524 |
【偶数求和】 (C语言代码)浏览:460 |
出圈】指针malloc版浏览:377 |
杨辉三角 (C语言代码)浏览:505 |
简单的a+b (C语言代码)浏览:572 |
复数求和 (C语言代码)浏览:995 |
leee 2024-06-28 16:32:25 |
c应该是t写错了