C语言学习之函数的调用-练习题

函数的调用

一个函数模板+一个main()函数,在主函数main()中调用

习题1

T1.编写函数,实现判断一个正整数是否能同时被2和7整除,如果能整除,则返回1,否则返回0。在主函数中调用此函数找出区间200到1000之间的所有满足条件的数并输出。

代码展示:

#include <stdio.h>
#include <stdlib.h>
int hanshu(int a)
{
    if (a % 2 == 0 && a % 7 == 0)
    {
        printf("%5d", a);
        
        return 1;
    }
    else
        return 0;
}


int main()

{
    int i;
    for (i = 200; i <= 1000; i++)
    {
        hanshu(i);
    }
    system("pause");
    return 0;
}


习题2

T2.编写函数,求出在正整数m和n之间(m<n)能被3整除、但不能被5整除的数的个数,在主函数中输入正整数m,n(m<n),调用该函数,输出函数返回结果。

代码展示:

#include<stdlib.h>
int hanshu(int x, int y)
{
    int c = 0 ,a;
    for (int a = x; a <= y; a++)
    {
        if (a % 3 == 0 && a % 5 != 0)
        {
            c++;    
        }
    }
    return c;
}
int main()
{
    int m, n, i;
    printf("请输入m,n的值:");
    scanf_s("%d%d", &m, &n);
    printf("在范围里的整数有%d个", hanshu(m, n));
    system("pause");
    return 0;
}

习题3

T3.四叶玫瑰数是指四位数各位上的数字的四次方之和等于本身的数。 编写函数,判断某个四位数是不是四叶玫瑰数,如果是则返回1,否则返回0。在主函数中调用此函数找出所有的四叶玫瑰数并输出。

代码展示:

#include<stdio.h>
#include<stdlib.h>
#include<math.h>

int meigui(int t)
{
    int qw, bw, sw, gw;
        qw = t / 1000;
        bw = t / 100 % 10;
        sw = t / 10 % 10;
        gw = t % 10;
        if (t == pow(qw, 4) + pow(bw, 4) + pow(sw, 4) + pow(gw, 4))
        {
            printf("%d\n", t);
            
            return 1;
        }
        else
            return 0;

    }
int main()
{
    int x;
    printf("玫瑰数为:\n");
    for (int x = 1000; x <= 9999; x++)
        meigui(x);
    system("pause");
    return 0;
}

习题4

T4.编写计算阶乘的函数。在主程序中调用该函数计算s = m!+ n!+ k!的和。其中,m、n、k的值从键盘输入‌

代码展示:

#include<stdio.h>
#include<stdlib.h>
int jc(float m)
{
    float s, sum = 1, a = 1;
    while (a<=m)
    {
        sum = sum * a;
        a++;
    }
    return sum;
}
int main()
{
    float s=0;
    float m, n, k;
    printf("请输入m,n,k的值:");
    scanf_s("%f%f%f",&m,&n,&k);
    s = jc(m) + jc(n) + jc(k);
    printf("s的和为:%.0f\n",s);
}

习题5

T5.编写函数实现将两个整数交换存储,在主函数中输入任意两个整数,调用该函数,分别输出交换前后的两个数。

代码展示:

#include<stdio.h>
#include<stdlib.h>
int hanshu(int *x, int *y)
{
    int t;
    t = *y;
    *y = *x;
    *x = t;
    
    return 0;
}
int main()
{
    int m, n;
    int* q, * p;
    q = &m;
    p = &n;
    printf("请输入交换前m,n的值:");
    scanf_s("%d%d", &m, &n);
    hanshu(q, p);
    printf("交换后m,n的值,m:%d n:%d",m,n);
}

喜欢(❤ ω ❤)就点个小爱心吧!

🙏

😘,如果结果有误,请到评论区恢复,感谢理解🙏!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

是先森丫

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

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

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

打赏作者

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

抵扣说明:

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

余额充值