大一新学C语言,求指导
从键盘输入一个10进制数,输出该数的16进制数的算法,给点思路吧
程序代码:
#include<stdio.h> int main(void) { int i,get,size=16,current,a; char sz[1000]; int bott=0; scanf("%d",&get); while(get>=size) { current=get%size; //余数大于10换成字母 if(current==10)current='A'; if(current==11)current='B'; if(current==12)current='C'; if(current==13)current='D'; if(current==14)current='E'; if(current==15)current='F'; sz[bott]=current; bott++; get=get-get%size; //减掉余数再除以16 get=get/size; } if(get==10)get='A'; if(get==11)get='B'; if(get==12)get='C'; if(get==13)get='D'; if(get==14)get='E'; if(get==15)get='F'; sz[bott]=get; a=bott; for(;a>=0;a--) { if(sz[a]!='A'&&sz[a]!='B'&&sz[a]!='C'&&sz[a]!='D'&&sz[a]!='E'&&sz[a]!='F') sz[a]=sz[a]+48; } for(;bott>=0;bott--) printf("%c",sz[bott]); printf("\n"); return 0; }