∵∵ 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 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题