专一点 2022-12-09 15:33 采纳率: 90.9%
浏览 100
已结题

c语言函数,大一c语言

老样子采纳第一个回答,一共6题,直接上难度

  1. 编写一个判断奇偶的函数,要求在主调函数中输入一个整数,通过被调函数输出该数是奇数还是偶数。
  2. 编写函数,其功能是输出一个200以内能被3整除且个位数为6的所有整数,返回这些数的个数。
  3. 用递归函数编程计算1+321+54321+…+n*等的阶乘。(就是1的阶乘加3的阶乘加5的阶乘一直加到n)
  4. 编写函数,求大于200的最小的一个自然数,该数既是素数,又是回文数,在主函数中输出该数。
  5. 编写一个函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串。
  6. 编写函数,该函数的功能是将指针p指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。
  • 写回答

3条回答 默认 最新

  • 关注

    一下6个 题目啊
    (1)除以2的余数=1的是奇数,否则是偶数

    #include <stdio.h>
    int fun(int n)
    {
        if (n % 2 == 1)
            return 1; //奇数返回1
        else
            return 0;//偶数返回0
    }
    int main()
    {
        int n;
        printf("请输入1个整数:");
        scanf("%d", &n);
        if (fun(n))
            printf("%d是奇数\n",n);
        else
            printf("%d是偶数\n",n);
        return 0;
    }
    
    

    (2)

    img

    代码:

    #include <stdio.h>
    int fun()
    {
        int cnt = 0;
        int i = 6;
        for (; i < 200; i++)
        {
            if (i % 3 == 0 && i % 10 == 6)
            {
                printf("%d ", i);
                cnt++;
            }
        }
        printf("共%d个\n", cnt);
        return cnt;
    }
    int main()
    {
        int n;
        fun();
        return 0;
    }
    
    

    (3)递归求阶乘和

    #include <stdio.h>
    
    double jc(int n)
    {
        double s = 1;
        int i;
        for (i = 1; i <= n; i++)
            s *= i;
        return s;
    }
    
    //递归求阶乘和
    double sum(int n)
    {
        if (n == 1)
            return 1;
        else
            return n * sum(n - 2);
    }
    
    int main()
    {
        int n;
        double res = 0;
        printf("请输入奇数n:");
        scanf("%d", &n);
        res = sum(n);
        printf("%.0lf\n", res);
        return 0;
    }
    
    

    (4)

    #include <stdio.h>
    //判断素数
    int prime(int n)
    {
        int i = 2;
        if (n < 2) return 0;
        for (i = 2; i < n; i++)
        {
            if (n % i == 0)
                return 0;
        }
        return 1;
    }
    //判断回文数
    int huiwen(int n)
    {
        int s = 0;
        int t = n;
        while (n)
        {
            s = s * 10 + n % 10;
            n /= 10;
        }
        if (t == s)
            return 1;
        else
            return 0;
    }
    int fun()
    {
        int i = 201;
        for (;; i++)
        {
            if (prime(i) && huiwen(i))
                return i;
        }
    }
    
    int main()
    {
        int n = fun();
        printf("%d是大于200的最小素数和回文数\n", n);
        return 0;
    }
    
    

    (5)

    
    #include <stdio.h>
    
    void invert(char* p)
    {
        int i = 0;
        int j = 0;
        char c;
        while (p[j] != '\0')
            j++;
        j--;
        while (i < j)
        {
            c = p[i];
            p[i] = p[j];
            p[j] = c;
            i++;
            j--;
        }
    }
    
    int main()
    {
        char buf[1000];
        printf("请输入一个字符串:");
        gets(buf);
        invert(buf);
        printf("逆序后:\n");
        printf("%s\n", buf);
        return 0;
    }
    

    (6)

    #include <stdio.h>
    
    void trans(char* p)
    {
        int i = 0;
        while (p[i] != '\0')
        {
            if (i % 2 == 1 && p[i] >= 'a' && p[i] <= 'z')
                p[i] = 'A' + (p[i] - 'a');
            i++;
        }
    }
    
    int main()
    {
        char buf[1000];
        printf("请输入一个字符串:");
        gets(buf);
        trans(buf);
        printf("转换后:\n");
        printf("%s\n", buf);
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 12月18日
  • 已采纳回答 12月10日
  • 修改了问题 12月9日
  • 创建了问题 12月9日

悬赏问题

  • ¥18 深度学习tensorflow1,ssdv1,coco数据集训练一个模型
  • ¥100 关于注册表摄像头和麦克风的问题
  • ¥30 代码本地运行正常,但是TOMCAT部署时闪退
  • ¥15 关于#python#的问题
  • ¥15 主机可以ping通路由器但是连不上网怎么办
  • ¥15 数据库一张以时间排好序的表中,找出多次相邻的那些行
  • ¥50 关于DynamoRIO处理多线程程序时候的问题
  • ¥15 kubeadm部署k8s出错
  • ¥15 Abaqus打不开cae文件怎么办?
  • ¥15 小程序准备上线,软件开发公司需要提供哪些资料给甲方