int sum(int a) { if(a<10) return a; return a%10+sum(a/10); }

当输入1234时,输出是多少

第1个回答  2022-01-02
答案为:10追问

我也认为是10,可是51nod说不对呀,程序我也跑过了

本回答被提问者采纳
第2个回答  2022-01-02

函数返回

1234%10+123%10+12%10+1

即逆序输出后的数字,输出4321

本回答被网友采纳
第3个回答  2022-01-02
1、声明一个Student类,在该类中包括一个数据成员score(分数)、两个静态数据成员total_score(总分)和count(学生人数),一个成员函数account()设置分数,累计学生的成绩之和、累计学生人数,一个静态成员函数sum()用于返回学生的成绩之和,另一个静态成员函数average()用于求全班成绩的平均值。在main函数中,输入某班同学的成绩,并调用上述函数求出全班学生的成绩之和的平均分。同学人数定义为符号常量N。

答:

#include<iostream>

using namespace std;

class Student{

private;

float score;

static int count;

static float total_score;

public:

void account(float score1)

{score=score1;

++count;

total_score=total_score+score;

}

static float sum()

{return total_score;

}

static float average()

{

return total_score/count;

}

};

int Student::count=0;

float Student::

total_score=0.0;

int main()

{Student s1,s2;

s1.account(99);

cout<<Studdent::sum()<<endl;

cout<<Student::average()<<endl;

s2.account(70);

cout<<Student::sum<<endl;

retun 0;

2、写出下面程序的执行结果:

#include<iostream.h>

Class B{

Protected

int b;

public :

B(int i){b=i+50;show();}

B(){}

Virtual void show(){cout<<”B::show()is called.b=”<<end1;}

};

Class D:public B{

Protected:

int d;

public :

D(){}

Void show(){cout<<”D::show()iscalleD.d=<<end1;}

};

Void main(){D d1(108);}

结果:

B::show()is called.b=158

D::show()iscalleD.d=208

3、给出下面程序输出结果

#include<iostream.h>

Class Base{

private: int Y;

public:

Base(int y=0) {Y=y;cout<<”Base(”<<y<<”)\n”;}

~Base(){cout<<”~Base()\n”;}

void print(){cout<<Y<<””;}};

class Derived:public Base

{private: int Z;

public:

Derived(int y; int z):Base(y)

{Z=z;

cout<<”Derived(“<<y<<”,”<<z<<”)\n”;}

~Dervied(){cout<<”~Dericed()\n”;}

void main()

{Dervied d(1,20);

d.print();}

结果:

Base(10) Derived(10,20) 10 20

~Derived() ~Base()

4、写出下面程序的执行结果

#include<iostream.h>

class A{

public :

A(){}

virtual void f(){cout<<”A::f()iscalleD.\n”;}

};

class B:public A{

public :

B(){f();}

void g(){f();}

};

class C:public B{

public :

C(){}

virtual void f(){cout<<”C::f()is called.n”;}

};

void main()

{Cc;C.g();}

结果:

A::f()is called.

C::f()is called.

5、写出下面程序输出结果

#include<iostream.h>

template

voide sort(T*a.int n)

{Tnum;

for(int i=0;i<N-1;i++)

{for(int j=i;j<N-1;j++;)

if(a[j]>a[j+1])

{num=a[j];a[j]=a[j+1];a[j+1]=num;}

}

for(i=0;i<N;i++)cout<<A[i];

cout<<end1;

}

void main()

{int iver[5]={12,45,9,23,37};

double dver[5]={22.3,56,7,43.5,13.8,8.6};

sort(iver,5);sort(dver,5);

}

结果:

9 12 23 37 45

8.6 23.8 22.3 43.5 56.7

www.dayukaoshi.com