柴进谁演的:计算机编程问题

来源:百度文库 编辑:高校问答 时间:2024/04/28 03:51:39
写一个函数fun(),输入一个正整数,判断其各位数和是否为10,如果是,返回1,不是则返回0

{
int a,b,x,y,z,w,p,q;
a=100000*p+10000*q+1000*x+100*y+10*z+w;
b=x+y+z+w+p+q;
if(b==10)
return 1;
else return 0;

}

PASCAL代码,在BP中测试通过。
***********************************

function fun(o:longint):integer;
var q,r,l,w,li:integer; s:string; cf:longint;
begin
if (o<10) or (o mod 3=0) then begin
fun:=0;
exit;
end
else begin
r:=0;
str(o,s);
l:=length(s);

for q:=l downto 1 do begin
cf:=1;

if o>9 then begin
for li:=1 to q-1 do cf:=10*cf ;

w:=o div cf;
o:=o-w*cf;
end
else begin
w:=o;
r:=r+w;
break;
end;

r:=r+w;
end;
end;
if r=10 then fun:=1 else fun:=0;
end;

int sum(int a) //判断a的各位和是否为10
{
int t=0;
while(a)
{
t+=a%10;
a=a/10;
}
return (t==10);
}

int sum(int a) //判断a的各位和是否为10
{
int t=0;
if ( a < 0) //将负变正
a = -a;
while(a != 0 )
{
t+ =a%10;
a = a/10;
}
return (t==10);
}

用什么写?