身高测量c语言编程

Python016

身高测量c语言编程,第1张

#include <stdio.h>

void main()

{

char sex

int f,m

printf("测量人的性别(m/f):")

scanf("%c",&sex)

switch(sex)

{

case 'm':printf("%g",(1.7+1.6)*1.08/2)break

case 'f':printf("%g",(1.7+1.6*0.923)/2)break

default:printf("输入错误!")

}

return

}

//纯手打,望采纳,有问题追问

#include<stdio.h>

#include<stdlib.h>

typedef struct node

{

    int data

    struct node *next

}Link

void insertNode(Link *head, int data) {

    Link *p = head

    Link *q = (Link *)malloc(sizeof(Link))

    q->data = data

    q->next = NULL

    while(p->next != NULL) p=p->next

    p->next = q

}

void freeNode(Link *head) {

    Link *p = head->next

    Link *q

    head->next = NULL

    while(p != NULL){

        q = p

        p=p->next

        free(q)

    }

}

int deep(Link ** tree, int start) {

    int depth = 1

    Link *p

    if(tree[start]->next == NULL) {

        return depth

    }

    p= tree[start]->next

    while(p!= NULL){

        int tmp = deep(tree, p->data - 1)

        if(tmp > depth) depth = tmp

        p=p->next

    }

    return depth + 1

}

int main(){

    int count, i

    int a, b

    Link **tree

    

    scanf("%d", &count)

    tree = (Link **)malloc(sizeof(Link*)*count)

    for(i=0i<count++i) {

        tree[i] = (Link *)malloc(sizeof(Link))

        tree[i]->next = NULL

    }

    while((scanf("%d%d",&a, &b))!=EOF){

        if(a>0 && b>0) {

            insertNode(tree[a-1], b)

        }

    }

    printf("%d\n", deep(tree, 0))

    for(i=0i<count++i) {

        freeNode(tree[i])

        free(tree[i])

    }

    free(tree)

    return 0

}