方阵8
发布时间: 2018年3月18日 14:24 时间限制: 1000ms 内存限制: 128M
描述
给定一个方形数阵,将方阵内的数转为八进制并输出转换后的方阵
要求一行内每个数字用一个空格隔开,行末不允许出现空格
输入
多组数据
每组数据输入一个方阵M,由若干行若干列整数组成,范围在int内
输出
每组数据输出一个八进制方阵N,要求见题目描述
每组输出数据之间无空行
样例输入1
1 8 10 24 3 9 17 14 9 5 10 30 6 2 45 86 1 8 3 9 1 8 10 24 3 9 17 6 9
样例输出1
1 10 12 30 3 11 21 16 11 5 12 36 6 2 55 126 1 10 3 11 1 10 12 30 3 11 21 6 11 不知道比赛的时候脑子到底在想什么、、 坑点: 1、负数 2、十进制的int可能转8为long #include <iostream> #include<stdio.h> using namespace std; int main() { int a; char b; while(cin>>a){ b=getchar(); int aa; bool fu=false; if(a<0){ aa=-a; fu=true; }else{ aa=a;} long c=0; long counter=1; while(aa/8>=1){ int k=aa%8; c+=k*counter; counter*=10; aa/=8; } int k=aa%8; c+=k*counter; if(fu){ c=-c; } cout<<c<<b; } return 0; }