C++机试练习打卡

文章介绍了如何在C语言中实现查找列表元素的最大值、计算单链表中每个结点阶乘并求和,以及统计完全平方数和个位数字出现次数的函数。通过分解任务和优化算法,展示了基础编程技巧的应用。

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

5.实现一个函数可以求出列表中元素最大值

// 函数定义  
ElementType Max(ElementType S[], int N) {  
    // 假设数组至少有一个元素  
    ElementType max = S[0];  
    for (int i = 1; i < N; i++) {  
        // 如果当前元素大于max,则更新max  
        if (S[i] > max) {  
            max = S[i];  
        }  
    }  
    // 返回最大值  
    return max;  
}  

这种求最大值、最小值的不要直接本着去实现一个排序算法去,如上所示例的直接遍历整个列表,不断更新max值会更好。

6.对一个单链表的每个结点计算阶乘并求和

int FactorialSum( List L ){
    //遍历单链表
    int i;
    int temp;
    int sum;
    for(i=0;i<L.length;i++){
        //求每个结点的阶乘
        temp=mul(L[i])];
        //对阶乘结果求和
        sum+=temp;
        
    }

}
int mul(L[]){
    int mul=1;
    for(i=0;i<=L[];i++){
        mul*=i;
    }
    return mul;
}
#include <stdio.h>  
  
// 阶乘函数  
int factorial(int n) {  
    int result = 1;  
    for (int i = 1; i <= n; i++) {  
        result *= i;  
    }  
    return result;  
}  
  
// 计算链表结点阶乘和的函数  
int FactorialSum(List L) {  
    int sum = 0;  
    ListNode *current = L;  
      
    // 遍历链表  
    while (current != NULL) {  
        // 计算当前结点的阶乘并累加到sum中  
        sum += factorial(current->value);  
        // 移动到下一个结点  
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

丹尼斯维奇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值