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