永发信息网

输入八个字符,将其转为ASCLL十进制值,再转为二进制,如果不满八个数用零补齐,这样组成了一个八行八列的数组,将这个数组转置,求出每行的十进制数,输出这八个十进制数

答案:1  悬赏:0  手机版
解决时间 2021-05-09 19:35
输入八个字符,将其转为ASCLL十进制值,再转为二进制,如果不满八个数用零补齐,这样组成了一个八行八列的数组,将这个数组转置,求出每行的十进制数,输出这八个十进制数
最佳答案

我的思想是有的,只是C++很少写,呵呵写得不是太简洁,谅解则个


#include "stdafx.h"
#include <stdlib.h>
#include "iostream"
using namespace std;
//从CHAR转为二进制,只不过是倒序的,所以后面就是那样形成了两个数组,如果做成顺序的,就可以在一个数组中转换了,呵呵,这个你自己做
int* returnOne(char inputx){
int temp=(int)(inputx);
int *tej=new int[8];
for(int i=0;i<8;i++){
tej[i]=temp%2;
temp/=2;
}


return tej;


}
void main()
{

int *newA[8];
char a,b,c,d,e,f,g,h;
//输入8个字符,回车结束
//这儿其实是可以以字符数组的方式输入的,嘿嘿自己写
cin>>a>>b>>c>>d>>e>>f>>g>>h;
newA[0]= returnOne(a);
newA[1]= returnOne(b);
newA[2]= returnOne(c);
newA[3]= returnOne(d);
newA[4]= returnOne(e);
newA[5]= returnOne(f);
newA[6]= returnOne(g);
newA[7]= returnOne(h);
int *uiid[8];
//初始化目标数组
for(int di=0;di<8;di++){

uiid[di]=new int[8];
}


int x=0;
int y=0;
int tempind=0;
int m=8;
while(x<8){
y=0;
while(y<8){
uiid[y][7-x]=newA[x][y];
y++;
}

x++;
}
//输出来给自己看
x=y=0;
while(x<8){
y=0;

while(y<8){

cout<<uiid[x][y];
y++;
}
cout<<endl;

x++;
}
//最后自己把二进制转成十进制就是一个每一位*2^n次方的事
cout<<endl;
}

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
只找个九几年 在安徽台看的动画片?
电脑太卡,怎么办?
魔兽世界灰暗的纳鲁薄片好吗?触发几率高吗?
ATM修改密码后,网银登陆为什么还是旧密码?
莞字怎么读
我这配置能玩极品飞车几
如果一对男女,在一起都要讲条件你认为,甘样
齐秦唱的大约在冬季的网络地址
天龙八部刷小票需要多少毒抗才能抗的住?燕子
CF有人加战队没?
宋词中适合男孩的名字,求诗词中男孩的名字,
哥特王朝3修改器
生活常识问题1
怎么不踩线犯规
汽车销售最多挣多少钱?
推荐资讯
亻 并 怎么读
网上卖的那种480还有500多块的电脑,上面配置
斯巴达克黑潮BA-210质保时间?
一般男孩都想什么
我能不能一直坚持喜欢你呀
取决于自己是什么意思,英文翻译一切都取决于
W580i二手几钱
直角三角形已知周长1条直角边怎样求出另一条
如果哪天前女朋友和她男朋友分手了,来找你,
开心农场里面怎么样能赚到更多的钱?
QQ农场哪一个 W G 最好使呢?给推荐一个呢
沙溪那里招会计文员
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?