12.20. 练习9

本文介绍如何使用C语言创建一个包含1到9的单链表,并实现链表的遍历输出功能。此外,还展示了如何读取一个5x5的二维数组,计算并显示每行和每列的元素之和。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建单链表并赋值,要求遍历能输出1~9

#include<stdio.h>
#include<stdlib.h>
#define  ERR 0
#define  OK  1

struct node
{
	int num;
	struct node * next;
}
typedef struct node Node;
typedef struct node * Link;

void creat_link(Link *head)
{
	*head = NULL;
}

int judge_node(Link *new_node)
{
	if(*new_node == NULL)
	{
		return ERR;
	}
	else
	{
		return OK;
	}
}

void creat_new_node(Link *new_node,int i)
{
	do
	{
		*new_node = (Link)malloc(sizeof(Node));
	}while{judge_node(*new_node) == ERR}
	(*new_node)->num = i;
}

void insert_head(Link *head,Link new_node)
{
	new_node->next = *head;
	*head = new_node;
	
}

void display(Link head)
{
	Link p = *head;
	if(p == NULL)
	{
		printf("链表为空");
	}
	else
	{
		if(p != NULL)
		{
			printf("num = %d\n",p->num);
			p = p->next;
		}
	}
}


int main()
{
	Link head;
	Link new_node;
	creat_link(&head);
	
	for(i = 1;i <= 9;i++)
	{
		creat_new_node(&new_node,i);
		insert_head(&head,new_node);
	}
	display(&head);
}



读取一个5*5数组,然后显示每行的和与每列的和

#include<stdio.h>
#define N 5

int main()
{
	printf("请输入25个数字 :");
	int a[N][N],i,j,sum = 0;
	for(i = 0;i < N;i++)
	{
		for(j = 0;j < N;j++)
		{
			scanf("%d",&a[i][j]);
		}
		
	}
	for(i = 0;i < N;i++)
	{
		for(j = 0;j < N;j++)
		{
			printf("%d",a[i][j]);
		}
		printf("\n");
	}
	for(i = 0;i < N;i++)
	{
		for(j = 0;j < N;j++)
		{
			sum += a[i][j];
		}
		printf("第 %d 行的和为:%d\n",i+1,sum);
		sum  = 0;
	}
	for(j = 0;j < N;j++)
	{
		fo(i = 0;i < N;i++)
		{
			sum += a[i][j]; 
		}
		printf("第 %d 列的和为: %d\n",j+1,sum);
		sum = 0;
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值