0
点赞
收藏
分享

微信扫一扫

09函数的用法

爱写作的小土豆 2022-01-08 阅读 43

1.编写一个函数,输入一个数,求这个数各位数相加的和。并在主函数去调用它。
    例:输入1314 求出1+3+1+4的值。

 

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

int sum1(int num)
{
	int sum = 0;
	while (num > 0)
	{
		sum += num % 10;
		num = num / 10;
	}
	return sum;
}
int main()
{

	int n, sum = 0, num=0;
	printf("请输入一个自然数:");
	scanf("%d", &n);
	num = n;
	sum = sum1(n);
	
	printf("%d的各个位数之和为:%d", n, sum);
}

2.编写一个递归函数,求10以内的阶乘

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

int jiecheng(int n)

{
	if (n == 1)
		return 1;
	else if (n == 2)
		return 2;
	else
		return n * jiecheng(n - 1);

}

int main()
{
	int ji = jiecheng(10);
	printf("10的阶乘为:%d",ji);
}

3.编写一个函数,将char name[]="JiuXiaLAOshi",这个字符串中的大写字母转换成小写字母。

 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

char* to_lower(char* s)
{
    int i;
    for (i = 0; s[i]; i++)
        if (s[i] >= 'A' && s[i] <= 'Z')
            s[i] += 32;
    return s;
}

int main()
{
    char name[] = "JiuXiaLAOshi";
    char* temp=to_lower(name);
    printf("转化后的字符串为:%s", temp);

    return 0;
}

4.把递归求和的图画出来

                                4
                          4            3
                                     2    1

4+3+2+1
n+f(n-1)+f(n-2)+f(1)


#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdio.h>

int f(int n)
{

    if (n == 1)
        return 1;
    else
    {
        return (n + f(n - 1));
    }
}

int main()
{
    int sum = 0, n;
    printf("请输入一个数字");
    scanf("%d", &n);
    sum = f(n);
    printf("%d", sum);

    return 0;
}
举报

相关推荐

0 条评论