C语言的 999999命

Python025

C语言的 999999命,第1张

1、e和E那里的case错写成了caes

2、null应该写NULL(大写才行)

3、struct node *lchild,*rchild后边全用的是rchild,你定义的是rchlid

#include<stdlib.h>

typedef struct node

{

int data

struct node *lchild,*rchild

}bintnode

typedef bintnode *bintree

bintree createbintree(bintree t)

void preorder(bintree t)

void inorder(bintree t)

void postorder(bintree t)

void main()

{ bintree t

char ch1,ch2

printf("\n xunzheba:\n")

ch1='y'

while(ch1=='y'||ch1=='Y')

{

printf("\nA")

printf("\nB")

printf("\nC")

printf("\nD")

printf("\nE")

scanf("\n%c",&ch2)

switch(ch2)

{

case 'a':

case 'A':

printf("xianxujianli:")

t=createbintree(t)

break

case 'b':

case 'B':

printf("xianxubianli:")

preorder(t)

break

case 'c':

case 'C':

printf("zhongxubianli:")

inorder(t)

break

case 'd':

case 'D':

printf("houxubianli:")

postorder(t)

break

case 'e':

case 'E':

ch1='n'

break

default:

printf("cuo wu shu ru:")}}}

bintree createbintree(bintree t)

{ int i

scanf("\n%d",&i)

if(i==0)

t=NULL

else

{

t=(bintree)malloc(sizeof(bintnode))

t->data=i

t->lchild=createbintree(t->lchild)

t->rchild=createbintree(t->rchild)}

return t

}

void inorder(bintree t)

{if (t)

{ inorder(t->lchild)

printf("%3d",t->data)

inorder(t->rchild)

}}

void preorder(bintree t)

{ if(t)

{ printf("%3d",t->data)

preorder(t->lchild)

preorder(t->rchild)

}}

void postorder(bintree t)

{ if (t)

{postorder(t->lchild)

postorder(t->rchild)

printf("%3d",t->data)}

}

输出结果是:

xunzheba:

A

B

C

D

E

手工算

循环

除以16

取余数

即可。

例如,10进制

3246

转16进制:

3246/16

202

14

(十六进制

e)

202/16

12

10(十六进制

a)

12/16

0

12(十六进制

c)

写成

十六进制

cae

计算机

c

语言,用

%x

格式输出

整型变量的值

即可:

例如:

printf("%x",

3246)

输出:cae

程序例子:

#include

<stdio.h>

int

main(

)

{

int

a=3246

//假定要转换的10进制数是

3246,赋给变量

a,

//或通过输入语句

scanf("%d",&a)

输入给

a

printf("Decimal:

%d

Hex:

%#x

",a,

a)

//

输出

a

的10进制值

16进制值

return

0

}

输出:

Decimal:

3246

Hex:

0xcae

%#x

格式输出

,数值前面自动添加前缀

0x,表示是

16进制。

若用

%x

格式输出,

则不加前缀,得:

cae

这是一个switch分支语句,与之对应的就是if(){...}else{...}语句,你说的case2:case3:连在一起写的意思是,当传入switch的条件变量为2或者3时,做同样的处理。只要case后面没有break程序就会一直执行下去。

case 1: n+=kbreak//当case分支遇到break就跳出switch结构

case 2://2和3做同样的处理

case 3: n+=kbreak