高考考试网
当前位置: 首页 高考资讯

c语言计算3阶行列式(C语言求单链表结点的阶乘和)

时间:2023-07-10 作者: 小编 阅读量: 2 栏目名: 高考资讯

今天这道题目呢,对我个人来说,可能是难度比较大的一道题目。for{n=i*n;//n的阶乘}2、而至于对该阶乘求和,则是定义一个变量sum。,同理也要放在for循环当中的。因为题目给出的是结构体,我们得来谈一谈一个符号,那就是箭头“->”符号的意思。它叫做结构体成员运算符,就是使用一个指向结构体或对象的指针访问其内部成员。通俗点来讲,以这道题目为例:L->Data,就是指向其中的内部元素Data数量。则需要用到L->Next来表示了。L=L->Next;最后返回sum的值即可。

今天这道题目呢,对我个人来说,可能是难度比较大的一道题目。

因为C语言的许多语法我还没有提及,还有数据结构部分我也没有复习到,所以做这道题目的时候,一开始我有些无从下手的。

不过后来仔细地分析了这道题目后,我感觉难度其实也还行。

毕竟阶乘和是自己接触过的算法,也知道怎么写。

无非就是单链表结点存储数据的格式该如何写,那么就根据裁判测试程序样例来写即可。

梳理逻辑

我们在做编程题目的时候,首先要做的,就是分析题目需求,显然,这道题目的要求是实现一个函数,求单链表L结点的阶乘和。

1、我们之前学过,阶乘就是n!=1x2x3x...xn,0的阶乘是1。

一般是用到一个for循环来写该阶乘。

for(int i = 1;i<= n;i){n = i*n;//n的阶乘}

2、而至于对该阶乘求和,则是定义一个变量sum。

sum=sum n!,同理也要放在for循环当中的。

sum = sumn;//阶乘求和

但显然,这道题目的关键难度并不在于对阶乘求和,因为这个是基础部分的内容了。

关键难度在于如何根据单链表来进行阶乘求和。

3、关于题目中给出的单链表结构体,我们就不细致展开了,题目中也给了就是存储结点数据的Data,和指向下一个结点的指针Next。

因为题目给出的是结构体,我们得来谈一谈一个符号,那就是箭头“->”符号的意思。

它叫做结构体成员运算符,就是使用一个指向结构体或对象的指针访问其内部成员。

通俗点来讲,以这道题目为例:L->Data,就是指向其中的内部元素Data数量。

那么很明确,这道题目的for循环就需要以这个Data为边界点。

就可以写为:

for(int i = 1;i<=L->Data;i){n = i*n;//n的阶乘}

那么在当前结点的数据处理完之后,就要转移到下一个结点,来处理下一个结点的数据。

则需要用到L->Next来表示了。

L = L -> Next;

最后返回sum的值即可。

注意:在完成上面这些事情的前提是L不为空,所以要加一个while循环语句:

while(L!=NULL)

我们来梳理一下这整道编程题目的逻辑关系。

代码实现

//求单链表结点的阶乘和#include <stdio.h>#include <stdlib.h>typedef struct Node *PtrToNode;struct Node {int Data; /* 存储结点数据 */PtrToNode Next; /* 指向下一个结点的指针 */};typedef PtrToNode List; /* 定义单链表类型 */int FactorialSum( List L );int main(){int N, i;List L, p;scanf("%d", &N);L = NULL;for ( i=0; i<N; i) {p = (List)malloc(sizeof(struct Node));scanf("%d", &p->Data);p->Next = L;L = p;}printf("%d\n", FactorialSum(L));return 0;}int FactorialSum( List L ){int sum = 0;int n = 1;//n的阶乘是从1开始的while(L!=NULL){for(int i = 1;i<=L->Data;i){n = i*n;//n的阶乘}sum = sumn;//求和n = 1;//为下一个结点做准备,重新赋值为1L = L -> Next;//指向下一个结点}return sum;}

结果测试总结

总的来说,这道题目关键还是对C语言的一个基本语法要有一个了解,我正是因为对基本语法没有一个清晰的了解,才导致做这道题目的时候比较困难,需要在网上查阅相关资料,然后再来解决这道题目。

    推荐阅读
  • 英语连词成句的方法和技巧(英语连词成句的方法和技巧介绍)

    所以,首先找到人称代词,或者名词,把这些词放在句首。然后要找到动词,这些动词一般是:Be,或实意动词后。时间地点居最后,地点在前,时间在后。如果是问号,则是疑问语句。就要先看是特殊疑问句还是由be动词或情态动词引导的疑问句。注意字母的大小写。句子开头首字母要大写,应该是不断提及的话题。在英语中经常需要的大写的有每句话的开头字母、人名、专有名词等。

  • 周彦辰为什么从sm退了(原来是这样的)

    周彦辰为什么从sm退了周彦辰爆料sm公司只把艺人当作为公司卖命赚钱的机器。一个月30天恨不得让艺人跑30个不同地点的演出。虽然当时吴亦凡、鹿晗和黄子韬所属的组合EXO出道两年便从新人团体越跃居韩国一线男团,年收入保守估计2亿人民币。韩国SM娱乐有限公司是韩国一间大型艺人企划和经纪公司,由歌手出身的李秀满于1989年创办。其名称“SM”为英文“StarMuseum”的缩写,意为“明星博物馆、名人殿堂”。

  • 扮猪吃老虎之思域si

    思域si,第九代半思域,是本田生产的手动挡性能车,在国内已经销售了500台左右。截至2019年9月,思域si已经全面停产。但现在,你能买到的日系性能车可能只有150万元的GTR,而思域si的价格只有20万元。也有人说思域si之所以保值是因为小众。真的是少了一个,每个si的车上都有铭牌编号。思域si搭载的是2.4升自然吸气发动机,这是思域系列第一个也是最后一个采用大排量自吸发动机的版本。

  • 宋公明衣锦还乡概括(宋公明衣锦还乡的内容是什么)

    宋公明衣锦还乡概括故事简介:柴进驸马佯赢宋兵,二次交锋,反戈一击,南兵大败,方腊逃走。阮小七穿腊衣冠,童贯部将指骂他要学方腊,和阮小七大闹一场。方腊于楹林中被鲁智深所捉。鲁智深闻潮汛,于六和寺坐化;武松善终。宋江自到东京,发遣回乡,都已完足。朝前听命,辞别省院诸官,收拾赴任。众人有搬取老小家眷回京住的,有往任所去的,亦有夫主兄弟殁于王事的,朝廷已自颁降恩赐金帛,令归乡里,优恤其家。

  • 柠檬切开后可以放多久(柠檬切开后能够放多久)

    下面更多详细答案一起来看看吧!如果用蜂蜜腌渍后放在冰箱里保存,可以放半个月到一个月左右的时间。如果风干后密封保存,可以放3个月以上的时间。柠檬,为双子叶植物纲芸香科柑橘属植物,柠檬又称柠果、洋柠檬、益母果等。小乔木,枝少刺或近于无刺,嫩叶及花芽暗紫红色,叶片厚纸质,卵形或椭圆形。

  • 蛇影杯弓的典故(你都了解多少呢)

    蛇影杯弓的典故有一年夏天,县令应郴请主簿杜宣来饮酒。杜宣看了,以为是一条蛇在酒杯中蠕动,顿时冷汗涔涔。回到家里,杜宣越来越疑心刚才饮下的是有蛇的酒,又感到随酒入口的蛇在肚中蠕动,觉得胸腹部疼痛异常,难以忍受,吃饭、喝水都非常困难。他立即坐在那天杜宣坐的位置上,取来一杯酒,也放在原来的位置上。杜宣弄清原委后,疑虑立即消失,病也很快痊愈了。

  • 怎么从IMEI看出手机好坏?(怎么从手机imei码上看出手机出厂质量好坏)

    下面希望有你要的答案,我们一起来看看吧!IMEI开放分类:手机、通讯、科技、防伪、串号。IMEI码俗称“手机串号”存储在手机的EEPROM里,每一个移动设备都对一个唯一的IMEI。其组成结构为TAC+FAC+SNR+SP。TAC,由欧洲型号认证中心分配。如果熟悉并了解这个号码对我们今后识别手机会起到非常大的作用.首先TAC码前三位在不同的时期会发生变化,过去的TAC码前三位在现在的手机上不会出现。

  • 病房预防跌倒的整改措施(似简实繁的病房管理问题)

    患者头部有外伤,伤口约25px,有出血,皮肤消毒剂消毒后纱布覆盖。各班护士根据患者病情的变化,可随时评估填写。嘱咐家属要引起重视,共同做好防跌倒处置,将风险降到最低。科护士长详细了解具体情况,及时组织科内人员进行讨论,制订整改措施。护理部每季度组织一次讨论,查找原因,总结经验,对共性问题在全院范围内采取针对性整改措施,预防和减少事件发生。通过全程动态管理,有效降低不良事件的发生率,提高护理服务质量。

  • 怎样去痘痘生活小妙招(去痘痘的日常方法)

    青瓜大家肯定都用过,不用多说,而苹果就先切成2毫米厚左右放入开水中泡软,然后拿出来稍冷却时将其贴于脸部,特别是有痘痘处要重点贴,半个小时左右即可。痘痘肌肤是最受不得刺激的,所以水果的纯天然成分对肌肤最是温和,而且,苹果和青瓜都是对痘痘有一定的镇定效果。比如,额头部位痘痘多,很大程度是因为自己心火旺,精神压力大。最后愈合时,除了保持皮肤的干净外一定记得少去碰触痘痘了,否则容易有痘印。

  • 2022杭州第4期公租房实物配租1人户家庭条件是什么?

    本期实物配租预登记的1人户家庭范围是市本级公租房货币补贴保障资格有效期开始时间为2019年1月、2月、3月且保障资格仍在有效期内的家庭。