中南大学C++程序设计实践思考题答案 联系客服

发布时间 : 星期日 文章中南大学C++程序设计实践思考题答案更新完毕开始阅读

13 }

if(n==1) { flag=0; cout<<\ } }

return 0;

实验5 函数和编译预处理

三、实验思考

1. 参考程序如下:

#include using namespace std;

long int Fibonacci(int n); void main() { int i;

long int t,t1;

cout<<\cin>>t;

for (i=2;;i++) {

t1=Fibonacci(i);

if (t1>t) {cout<<\} }

long int Fibonacci(int n) {

if (n==0) return 1; else if (n==1) return 1;

else return Fibonacci(n-1)+Fibonacci(n-2); }

2. 参考程序如下:

#include using namespace std;

int num_n(int n,int a) //由n个a组成的多位数的计算 {

if (n==1) return a;

13

else return num_n(n-1,a)*10+a; }

void main() {

int i,n;

long int sum=0;

cout<<\cin>>n;

for (i=1;i<=n;i++)

{cout<

cout<<\}

3. 参考程序如下:

#include using namespace std;

int isprime(int n) //判断n是否为素数的函数 { int i;

for (i=2;i

if (n%i==0) return 0;//非素数,函数值返回0 return 1;//素数,函数值返回1 }

void main() {

int i,min_prime,max_prime; for (i=1000;i<=2000;i++) if(isprime(i)==1)

{cout<<\最小素数=\for (i=2000;i>=1000;i--) if(isprime(i)==1)

{cout<<\最大素数=\}

4. 参考程序如下: #include using namespace std; int sum(int n)

14

15 {

static s=0; s=s+n; return s; }

void main() {

int i, n,s;

cout<<\情指定n:\

cin>>n;

for (i=1;i<=n;i++) s=sum(i);

cout<<\之和=\ }

5. 参考程序如下:

#include using namespace std;

int is_h(int n) //判断参数n是否为回文

{

int i,m,fn;//i用来记录n的某一位数字,m初值为n,fn用于记录n的倒序数 m=n; fn=0;

while(m!=0) {

i=(m); fn=(fn*10+i); m=m/10; }

if(fn==n) return 1; //是回文数返回1 else return 0; //不是回文数返回0 }

void main() { int i;

int t; cin>>t; for (i=1;i<=t;i++) if (is_h(i)==1)

cout<<\回文数:\

15

}

6. 参考程序如下:

#include using namespace std; #define X (a+b)/2 #define AREA X*h void main() {

float a,b,h,s;

cout<<\请分别输入a,b,h的值,用空格分隔!\cin>>a>>b>>h; s=AREA;

cout<

实验六 数组 三、实验思考题

参考源代码

思考题1. shi_6_3_1.cpp

#include #define N 5

int lookup(int [],int ,int ); //函数说明 void main()

{ int i, a[N],index,yLooked;

cout<<\请输入N(=5)个整数:\ for(i=0;i>a[i];

cout<<\请输入您要找的整数:\ cin>>yLooked;

index=lookup(a,N,yLooked); //函数调用 if(index!=-1)

cout<<\您要找的数下标为:\else

cout<<\没有找到\

cout<<\谢谢使用本程序,再见!\ cin.get();

16