成都网站建设设计

将想法与焦点和您一起共享

c语言中htoi函数 c语言hanoi函数

c语言编程

第一题:

创新互联公司主营淇滨网站建设的网络公司,主营网站建设方案,成都app软件开发,淇滨h5重庆小程序开发搭建,淇滨网站营销推广欢迎淇滨等地区企业咨询

我用的是动态二维数组,你可以试着从键盘输入你想要求的任何数组

程序如下:

#include stdio.h

#include stdlib.h

int Fun(int *p,int n);

void main()

{

int *p=NULL,i,j,n,s;

printf("请输入矩阵的宽度:");

scanf("%d",n);

p = (int *)calloc(n*n,sizeof(int));

if(p==NULL)

{

printf("定义的矩阵过大!");

exit(0);

}

printf("请输入数据:");

for(i=0;in;i++)

for(j=0;jn;j++)

scanf("%d",p[i*n+j]);

printf("矩阵如下:\n");

for(i=0;in;i++)

{

for(j=0;jn;j++)

printf("%d ",p[i*n+j]);

printf("\n");

}

s=Fun(p,n);

printf("该矩阵对角线数字之和为:%d\n",s);

free(p);

}

int Fun(int *p,int n)

{

int i,j,s=0;

for(i=0;in;i++)

for(j=0;jn;j++)

if(i==j||i+j==n-1)

s+=p[i*n+j];

return s;

}

----------------------------------------------------

第二题:

这个是按照提示做的,你看看

#include stdio.h

float htoi(char str[]);

void main()

{

char str[10];

float n;

printf("请输入一个十六进制数:");

scanf("%s",str);

n=htoi(str);

printf("它对应的十进制数为:%.0f\n",n);

}

float htoi(char str[])

{

float m,n=0;

int i=0,j,k,a[10];

while(str[i]!='\0')

{

if(str[i]='0'str[i]='9')

a[i]=str[i]-48;

if(str[i]='A'str[i]='F')

a[i]=str[i]-55;

i++;

}

for(j=0;ji;j++)

{

m=a[j];

for(k=j;ki-1;k++)

m=m*16;

n=n+m;

}

return n;

}

htoi在c语言里面是怎么理解?是哪个单词没有写完?会c 语言的朋友帮我回答一下这个问题

多半是hex to int 的简写,应该是十六进制的字符串转成十进制整型数字的函数名

用C语言编写函数htoi(s),把由十六进制组成的字符串(包含可选的前缀0x或0X)转换为与之等价的整型值。

int htoi(const char *s)

{

if( !s )return 0;

if( *s == '0' )

{

s++;

if( *s == 'x' || *s == 'X' )s++;

}

int n = 0;

while( *s )

{

n = 4;

if( *s = '9' )

n |= ( *s 0xf );

else

n |= ( (*s 0xf) + 9 );

s++;

}

return n;

}

int main(int argc, char* argv[])

{

printf("%x\n", htoi("0xa"));

printf("%x\n", htoi("0xab"));

printf("%x\n", htoi("0xabc"));

printf("%x\n", htoi("0x0a0b"));

printf("%x\n", htoi("a"));

printf("%x\n", htoi("ab"));

printf("%x\n", htoi("abc"));

printf("%x\n", htoi("12ab"));

return 0;

}

用c语言编写函数Htoi(s)把由16进制数成10进制的数

#include "stdio.h"

#include "string.h"

int translat(char c)

{

if(c='9'c='0') return c-'0';

if(c='a' c='f') return c-87;

if(c='A' c='F') return c-55;

return -1;//其它字符返回-1

}

int Htoi(char *str)

{

int length=strlen(str);

if(length==0) return 0;

int i,n=0,stat;

for(i=0;ilength;i++)

{

stat=translat(str[i]);//防错处理

if(stat=0) n=n*16+stat;

}

return n;

}

void main()

{

char Hex[20];

printf("Input Num at Hexadecimal:");

gets(Hex);

printf("%s=%d",Hex,Htoi(Hex));

}


当前题目:c语言中htoi函数 c语言hanoi函数
本文URL:http://chengdu.cdxwcx.cn/article/dojoeoh.html