练习 3-5 编写函数itob(n, s, b),将整数n转换为以b为底的数,并将转换结果以字符的形式保存到字符串s中。

C语言程序设计(第二版) 练习3-5 个人设计

练习 3-5 编写函数itob(n, s, b),将整数n转换为以b为底的数,并将转换结果以字符的形式保存到字符串s中。例如,itob(n, s, 16)把整数n格式化成十六进制整数保存在s中。

代码块

#include 
#include 
#include 
void itob(int n, char s[], int b);
void reverse(char s[]);
int main()
{
	int num;
	char str[100];
	printf("Please enter number: ");
	scanf("%d", &num);
	itob(num, str, 16);
	printf("Result=");
	puts(str);
	system("pause");
	return 0;
}
void itob(int n ,char s[], int b)
{
	int i, sign;
	if ((sign=n)<0)
		n=-n;
	i=0;
	do{
		if ((n%16)>9&&(n%16)<16){
			switch(n%16){
			case 10: s[i++]='A'; break;
			case 11: s[i++]='B'; break;
			case 12: s[i++]='C'; break;
			case 13: s[i++]='D'; break;
			case 14: s[i++]='E'; break;
			case 15: s[i++]='F'; break;
			default: break;
			}
		}
		else
			s[i++]=n%16+'0';
	}while ((n/=16)>0);
	if (sign<0)
		s[i++]='-';
	s[i]='\0';
	reverse(s);
}
void reverse(char s[])
{
	int c, i ,j;
	for (i=0, j=strlen(s)-1; i

你可能感兴趣的:(c语言程序设计第二版课后答案)