帮忙给讲解这几行C语言程序好吗,急用!!!

来源:百度知道 编辑:UC知道 时间:2024/05/16 05:52:29
#include<stdio.h>
#define N 100
void main()
{
int x,i=0;
char c;
int a[N]={0};
printf("A.十转二\n");
printf("B.十转八\n");
printf("C.十转十六\n");
c=getchar();
while(c!='\0')
{
i=0;
switch(c)
{
case'A':
{
printf(" 十进制转为二进制\n");
printf("输入一个十进制的数:");
scanf("%d",&x);
while(x>0)
{
a[i]=x%2;
i++;
x/=2;
}
for(--i;i>=0;i--)
{
printf("%d",a[i]);
}
printf("\n");
}break;
case'B':
{
printf(" 十进制转为八进制\n");
printf("输入十进制的数:");
scanf("%d",&x);
while(x>0)
{
a[i]=x%8;
i+

是这样:
if(x%16<10) /*如果x为0-9*/
a[i]=x%16+'0'; /*将数字a[i]的值加48(也就是字符'0'的asc2码值),使a[i]从数字变为相应的字符,比如a[i]=3变为字符'3'*/
else /*如果x为10-15*/
a[i] = x%16+'97'; /*将数字a[i]的值加97(也就是字符'a'的asc2码值),使a[i]从数字变为相应的字符,比如a[i]=13变为字符'd'*/
x=x/16;
i++;
这个程序写的很啰嗦,你看下面的多简洁:
http://zhidao.baidu.com/question/78694296.html