举一反三
- 下列程序的运行结果是 [12] 。 include <iostream. h> class Sample int x,y; public: Sample() x=y=0; Sample(int a, int b) x=a;y=b; void disp() cout<<" x=" <<x<<" , y="<<y<<end1; ; void main() Sample s1, s2(1, 2); s1. disp0; s2. disp ();
- 有如下程序: #include <iostream> using namespace std; class sample private: int x,y; public: sample(int i,int j) x=i; y=j; void disp() cout<<"disp 1 "<<end1; void disp()const cout<<"disp2"<<end1; ; int main() const sample a(1,2); a.disp(); return (); 该程序运行后的输出结果是( )。 A: A) disp 1 B: B) disp2 C: C) disp1 disp2 D: D) 程序编译时出错
- 以下程序拟实现计算s=1 + 2*2 + 3*3 + … + n*n +…,直到s>1000为止。 #include main( ) { int s,n; s=1; n=1; do { n=n+1; s=s+n*n; } while(s>1000); printf("s=%d\n",s); } 程序运行后,不能得到正确结果,以下修改方案正确的是
- 下面的程序是求1!+3!+5!+……+n!的和。 #include main { long int f,s; int i,j,n; (1) ; scanf("%d",&n); for(i=1;i<=n; (2) ) { f=1; for(j=1; j<=i;j++) (3); s=s+f; } printf("n=%d,s=%ld ",n,s); }
- 有如下程序: #include <iostream> using namespace std; class sample private: int x, y; public: sample(int i,int j) x=i; y=j; void disp() cout<<"displ"<<end1; void disp() const cout<<"disp2"<<end1; ; int main () const sample a(i,2); a.disp (); return 0; 该程序运行后的输出结果是( )。 A: disp1 B: disp2 C: disp1 disp2 D: 程序编译时出错
内容
- 0
假设整型n已输入值。以下不能正确计算1*2*3*...*n的程序段是_______。 (1) for(i=1,s=1; i<=n; i++) s*=i; (2) i=1;s=1; while(i<=n) s*=i++; (3) i=0,s=1; do{ i++,s*=i; }while(i<=n); (4) for(i=1,s=1; ; i++) { s = s*i, if(i==n) break; }
- 1
求s=1-1/3+1/5-1/7+…+1/13 #include main() { int p=1,n; float t=1, s=0; for(n=1; 【1】 ;n+=2) { 【2】 ; s=s+t*p; 【3】 ; } printf("s=%10.6f\n",s); }
- 2
【填空题】10)下面的程序功能是求1!+3!+5!+......n!的和 #include<stdio.h> main() { int f,s; int i,j,n; (1); scanf(“%d”,&n); for(i=1;i<=n;(2)) { f=1; for(j=1;(3); (4); (5); } printf(“n=%d,s=%d ”,n,s); }
- 3
读程序并写结果。#include stdio.hlong fun(int n){ long s;if(n==1||n==2)s=2;elses=n-fun(n-1);return s;}int main(){ printf(%ld\n,fun(3)); return 0;}
- 4
下列程序的输出结果是【 】。 long fun(int n) { long s; if(n==1||n==2) s=2; else s=n+fun(n-1); return s; } int main() { cout<<fun(4); return 0; }