一道程序设计题....还是英文的.....

来源:百度知道 编辑:UC知道 时间:2024/06/18 09:34:31
Write a program. When user continuously inputs 4 characters which stand for a hexadecimal number(the allowable characters are ‘0’ through ‘9’, ‘a’ through ‘f’), the program will convert these characters into its equivalent integer value and output it. For example,
Input:
‘1’’0’’a’’6’
Output:
4262

就是要写个程序把16进制转换成10进制的。
下面是程序:

main()
{
char c;
int i, sjz=0;
printf("请输入十六进制数:");
for(i =0;i<4;i++)
{
c=getchar();
if (c>='0' && c<='9')
sjz=sjz*16+c-'0';
else if (c>='A' && c<='F')
sjz=sjz*16+c-'A'+10;
else break;
}
printf("\nsjz=%d",sjz);
}

不是一个一个输入,要求连续输入4个字符。

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
hexadecimal number:十六进制数
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
程序如下:
#include <iostream.h>
#include <math.h>
main()
{
cout<<"请输入4个16进制数,中间用“空格”格开"<<endl;
char a[4];
int sum=0,i,j;
for(i=0;i<4;i++)
{
cin>>a[i];
}
for(i=0;i<4;i++)
{
j=a[i];
if(j>=48 && j<=57)
sum=sum+po