使用递归的方法完成函数int check(int value, int number),它判断一个数number各位相加是否等于value,如果是则返回1,否则返回0.
使用函数代码:
int sum = 0;
int check(int value, int number)
{
if (number<10)
{
return number;
}
else
{
sum= number % 10 + check(value, number / 10);
return sum;
}
if (sum==value)
{
return 1;
}
else
{
return 0;
}
}
if (sum==value)
{
return 1;
}
else
{
return 0;
}
这个代码不应该放到递归的函数中,应该是:
#include <stdio.h>
int cp(int number)
{
int sum;
if (number<10)
{
return number;
}
else
{
sum= number % 10 + cp(number / 10);
return sum;
}
}
int check(int value, int number)
{
if (cp(number)==value)
{
return 1;
}
else
{
return 0;
}
}
void main()
{
int n;
printf("%d\n",check(22,5746));
}
return当然只能有一个返回了,想返回多个值,可以用指针或引用类型参数,通过参数返回
需要多个return 用全局变量。
return 代表这个方法执行完毕,要想返回多个值,返回个对象,对象包含多个属性值。
同楼上,给你个示例
int sum = 0;
int check(int value, int number)
{
return {
sum:number<10?number:number % 10 + check(value, number / 10),
flag:sum==value?1:0
}
}
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632