C语言用二元数组hw[2][10],输入10个人的身高和体重(小数保留一位),求身高和体重的平均,最大,最小

Python021

C语言用二元数组hw[2][10],输入10个人的身高和体重(小数保留一位),求身高和体重的平均,最大,最小,第1张

#include<stdio.h>

double aver(double *arra, int n)

{

int i

double sum = 0, aver = 0

for(i = 0i <ni++)

{

sum+= arra[i]

}

aver = sum / n

return aver

}

double max(double *arra, int n)

{

int i

double max = 0

for(i = 0i <ni++)

{

if(arra[i] >max)

{

max = arra[i]

}

}

return max

}

double min(double *arra, int n)

{

int i

double min = 65535

for(i = 0i <ni++)

{

if(arra[i] <min)

{

min = arra[i]

}

}

return min

}

void main()

{

double hw[2][10] = {{167,168,169,170,171,172,173,174,175,176},{58,59,60,61,62,63,64,65,66,67}}

double h[10],w[10]

int i

for(i = 0i <10i ++)

{

h[i] = hw[0][i]

w[i] = hw[1][i]

}

printf("他们的平均身高为:%.1f\n", aver(h,10))

printf("他们的平均体重为:%.1f\n", aver(w,10))

printf("他们的最大身高为:%.1f\n", max(h,10))

printf("他们的最大体重为:%.1f\n", max(w,10))

printf("他们的最小身高为:%.1f\n", min(h,10))

printf("他们的最小体重为:%.1f\n", min(w,10))

}

采用链栈实现算法,代码如下:

#include"stdio.h"

#include"stdlib.h"

typedef char ElemType

typedef struct stnode

{

ElemType data

struct stnode *next

}StNode, *LinkStack

int huiwen(char str[])

{

int i = 0

char ch

StNode *sl = NULL, *p

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

{

p = (StNode *)malloc(sizeof(StNode))

p->data = ch

p->next = sl

sl = p

}

i = 0

while (sl != NULL)

{

p = sl

ch = p->data

sl = sl->next

free(p)

if (ch != str[i++])

return 0

}

return 1

}

void main()

{

char string[20]

int hw

printf("input a string:")

gets_s(string)

hw = huiwen(string)

if (hw) printf("The string is HUIWEN.")

else printf("The string is not HUIWEN.")

}

扩展资料

栈的特点是先进后出,而链表中的头插法正好满足我们的需求,因为头插法后面插入的节点位于链表的开头,所以我们可以使用头插法来插入节点,在弹出节点的时候弹出链表的第一个节点即可,而第一个节点是很容易找出来的,所以可以很轻松地实现栈的压入和弹出操作。

栈是一种是一种实现数据“先进后出”的存储结构,分为静态栈和动态栈,静态栈就是以数组的方式存储数据,动态栈是以链表的方式存储数据;对栈的操作算法,常用的就是压栈和出。

栈的创建:

在创建一个数据结构之前,必须知道这种数据结构由哪些参数组成,栈的本质既然是个链表,它必然由很多节点组成;为了实现“先进后出”这种数据结构,我们需要引进两个参数,一个是栈顶指针(pTop),始终指向栈顶元素。一个参数是栈底指针(pBottom),始终指向栈底元素。

我们知道为了方便描述链表的各种操作,引进了头节点的概念,即为每个链表前面加一个头节点,但并存放有效数据;同样,为了实现栈的操作,我们同样需要一个不存放任何有效数据的节点,并且栈底指针始终指向该节点。