十六進位制轉換為十進位制

iamzxf發表於2013-12-17

    編寫函式,輸入一個十六進位制數,輸出相應的十進位制數。

#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <string.h>


int main()
{
	char str[100];
	int number=0;
	int i;
	scanf("%s", str);

	//預處理,將小寫字母變成大寫字母
	for(i=0;i<strlen(str);i++)
	{
		if (str[i]>='a' && str[i]<='f')
			str[i]=str[i]-32;
	}


	for(i=0;i<strlen(str);i++)
	{
		if (str[i]>='0' && str[i]<='9')
		{
			number=number*16+str[i]-'0';
		}
		else{
			number=number*16+str[i]-'A'+10;
		}
	}
	printf("%s對應的十進位制數為%d\n",str,number);

	return 0;
}


相關文章