∵∵ 2022-01-28 12:00 采纳率: 100%
浏览 63
已结题

C语言关于函数的调用


#include<stdio.h>
void input(int *p) {
    int a[5],i;
    p=a;
    for(i=0; i<5; i++)
        scanf("%d ",&a[i]);
}//输入 
double fact(int n) {
    double sum=1;
    int i;
    for(i=1; i<=n; i++)
        sum=sum*i;
    return sum;
}//求阶乘 
void output(int *p) {
    int i;
    int a[5];
    input(p);                                        
    for(i=0; i<5; i++) {
        if(a[i]<1) a[i]=0;
        else a[i]=fact(i);
        }
        for(i=0;i<5;i++)
        printf("%.0f ",a[i]);
}//如果这个数小于1 则输出0;
//如果是大于等于1,则输出该数的阶乘 
//输出这个数组 
int main() {
    int a[5],i;
    input(a);//输入五个数 
    output(a);//输出五个数 
    }
  • 写回答

2条回答 默认 最新

  • _GX_ 2022-01-28 12:38
    关注

    帮你修改好了

    #include <stdio.h>
    
    // 输入
    void input(int *a, int n)
    {
        for (int i = 0; i < n; i++)
            scanf("%d", &a[i]);
    }
    
    // 求阶乘
    double fact(int n)
    {
        double sum = 1;
        for (int i = 1; i <= n; i++)
            sum = sum * i;
        return sum;
    }
    
    // 如果这个数小于1 则输出0;
    // 如果是大于等于1,则输出该数的阶乘
    void output(int *a, int n)
    {
        for (int i = 0; i < n; i++)
        {
            if (a[i] < 1)
                printf("0 ");
            else
                printf("%.0lf ", fact(a[i]));
        }
    }
    
    int main()
    {
        const int n = 5;
        int a[n];
        input(a, n);  // 输入五个数
        output(a, n); // 输出五个数
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 2月5日
  • 已采纳回答 1月28日
  • 创建了问题 1月28日

悬赏问题

  • ¥15 GitHubssh虚拟机连接不上
  • ¥15 装完kali之后下载Google输入法 重启电脑后出现以下状况 且退不出去 桌面消失 反复重启没用
  • ¥15 ESP-IDP-BLE配网连接wifi
  • ¥15 ue2.6.12版本用的若以,安装gojs,引入import * as go from 'gojs';报错
  • ¥15 服务器上的网站安装php5.6版本
  • ¥15 ModuleNotFoundError: No module named 'torch.utils._import_utils' 是缺少什么
  • ¥15 请大咖一起探索iptv 直播源的hls通过反向代理解密
  • ¥100 寻找技术员 云闪付tn转h5输入卡号付款的链接 重酬!
  • ¥100 科大讯飞语音唤醒词,unbuntu环境,报错
  • ¥50 python写segy数据时出错2