int sum(int a) { if(a<10) return a; return a%10+sum(a/10); }
发布网友
发布时间:2024-10-23 20:48
我来回答
共3个回答
热心网友
时间:2024-11-06 05:07
答案为:10
热心网友
时间:2024-11-06 05:06
函数返回
1234%10+123%10+12%10+1
即逆序输出后的数字,输出4321
热心网友
时间:2024-11-06 05:11
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