//只是利用了堆棧的性質,實際上根本不是
//利用堆棧的性質實現(xiàn)將一個十進制轉換成相應的進制表示。
#include<stdio.h>
int convert(int a,int N,int *num)
{
int count=0;
while(a!=0)
{
*(num+count)=a%N;
a=a/N;
count++;
}
return count;
}
int main()
{
int num[10],i,N;
int a,count,get;
int *p=&count;
printf("請輸入你要轉換的十進制數(shù)\n");
scanf("%d",&a);
printf("請輸入你要選擇的進制\n");
printf("1.二進制\n");
printf("2.八進制\n");
scanf("%d",&N);
get=a;
if(N==1)
count=convert(a,2,num); //輸入的N和你要轉換的進制不是同一個。
if(N==2)
count=convert(a,8,num);
printf("%d的%d進制表示是\n",get,N);
for(i=count-1 ; i>=0 ; i--) //開始的時候傻×,用的是i<0,肯定都不滿足啊,所以完全沒有輸出。
{
printf("%d",*(num+i));
}
printf("\n");
}
注意16進制就不可用,原因是超過10的數(shù)就要用字母表示,會出錯的。
posted on 2009-11-27 21:27
deercoder 閱讀(384)
評論(0) 編輯 收藏 引用 所屬分類:
數(shù)據(jù)結構和算法分析