1.从键盘上输入一个十进制正整数,将其转换成8进制,然后输出。(要求用字符型数组存放8进制数)。

2.6.写入一个函数,输入一个16进制整数,输出相应的十进制数。提示:16进制数可以按字符数据输入。
是C的,我要考试了,麻烦大家帮我做一下,拜托了

JAVA写的源码,自己看看算法把
只能提供这么多了
Methods m = new Methods();
//十进数转换成二进制数
System.out.print("请输入一个十进制整数:");
int n = SavitchIn.readLineInt();
System.out.println();
System.out.print(n + "的二进制数是:");
int a[] = new int[10]; //存储0和1
for (int i = 0; n != 0; i++) {
int b = n % 2; //若为八进制数则改为n%8
a[i] = b;
n = n / 2;
} //若为八进制数则改为n/8
m.backwardSort(a); //把数组进行倒序排列
for (int i = 0; i < a.length; i++) {
System.out.print(a[i]);
}
System.out.println();
温馨提示:内容为网友见解,仅供参考
第1个回答  2006-05-13
1.
#include "stdio.h"

void main()
{
char Oct[40];
for(int i=0;i<40;i++)
Oct[i]='\0';

int n;
printf("Please input:");
scanf("%d",&n);

i=39;
do{
Oct[--i]=n%8+48;
n/=8;
}while(n!=0);

printf("%s\n",Oct+i);
}

2.
#include "stdio.h"

void main()
{
char a[17],*p;
unsigned long n=0;
gets(a);
p=a;
while(*p!='\0')
{
n=n*16;
if(*p>='0' && *p<='9')
{
n+=*p-48;
}
else if(*p>='A' && *p<='F')
{
n+=(*p-'A'+10);
}
else if(*p>='a' && *p<='f')
{
n+=(*p-'a'+10);
}
else
{
printf("Error!\n");
}
p++;
}
printf("%d\n",n);
}本回答被提问者采纳
第2个回答  2006-05-12
用什么程序阿?c?
相似回答