C语言 输出1.2.3.4不重复三位数排列

该博客介绍如何使用C语言编程,生成1到4之间所有不同且个十百位不重复的三位数排列。
摘要由CSDN通过智能技术生成

将1.2.3.4不同的三位数全部排列出来,且个十百位各不相同。

#include "stdio.h"
void main()
{
   
    int a,b,c;
    for(a=1;a<=4;a++
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,根据您的要求,我将回答您的问题。这是一个计算链表节点值小于平均值的节点个数的问题。我们可以用以下的算法: 1. 定义一个计数器count和一个指向头结点的指针p。 2. 遍历链表,计算链表节点的总和sum和链表节点的个数n。 3. 计算链表节点的平均值avg=sum/n。 4. 重置p为头结点指针。 5. 遍历链表,如果节点值小于平均值avg,则count加1。 6. 返回count作为函数值。 以下是C语言代码实现: ```c #include <stdio.h> #include <stdlib.h> typedef struct node { int val; struct node *next; } Node; int count_smaller_than_avg(Node *head) { if (head == NULL || head->next == NULL) { return 0; } int count = 0; int sum = 0; int n = 0; Node *p = head->next; while (p != NULL) { sum += p->val; n++; p = p->next; } float avg = (float) sum / n; p = head->next; while (p != NULL) { if (p->val < avg) { count++; } p = p->next; } return count; } int main() { // 创建带头结点的单链表 Node *head = (Node *) malloc(sizeof(Node)); head->next = NULL; Node *tail = head; int nums[] = {1, 2, 3, 4}; int n = sizeof(nums) / sizeof(nums[0]); // 将整数1.2.3.4放入链表中 for (int i = 0; i < n; i++) { Node *node = (Node *) malloc(sizeof(Node)); node->val = nums[i]; node->next = NULL; tail->next = node; tail = node; } int count = count_smaller_than_avg(head); printf("节点值小于平均值的节点个数为:%d\n", count); return 0; } ``` 注意,这段代码假设链表中不包含头结点的值。如果链表中包含头结点的值,则需要在计算平均值时将头结点的值排除在外。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值