c语言函数,大一c语言

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

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

一下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;
}

wa

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632