当前位置:首页 > C++程序设计习题大荟萃
void main() {
int x1,x2;
cin>>x1;
x2=int(sqrt(x1));
for(int i=1;i<=x2;i++)
if(x1%i==0) cout<
cout<<”y=”< } 7. #include void main() { int I,j; ‘< 5. #include void main() { int I,p=1,s=0; int N; cout<<”输入一个正整数:”; cin>>N; for(i=1;i<=N;i++) { p*=I; s+=p; } cout< 6. #include double f1(double x,int n) { double p1,p2,p3,s; p1=s=x;p2=p3=1; if(n==0) return s; for(int i=1;i<=n;i++) { p1*=x*x; p2*=2*i*(2*i+1); p3*=-1; s+=p3*p1/p2; } return s; } void main() { double x,y; int n; cout<<”输入一个实数:”; cin>>x; cout<<”输入一个正整数:”; cin>>n; for(i=1;i<=5;i++) { for(j=1;j<=9;j++) if(j<=5-i||j>=5+i) cout<<’ ’; else cout<<’*’; cout< 8. #include int f1(int a,int b) { int r; while(b!=0) { r=a%b; a=b;b=r; } return a; } int f2(int a,int b) { int i=2,p=1; do{ while(a%i==0&&b%i==0) { p*=i;a/=I;b/=i; } i++; }while(a>=i&&b>=i); return p*a*b; } void main() { int a,b; cout<<”输入两个正整数:”; cin>>a>>b; 9 cout< 9. #include #incldue int ff(int x,int y) { int z; cout< if(x+y==z) return 1;else return 0; } void main() { int a,b,c=0; srand(time(0)); for(int i=0;i a=rand() +1; b=rand() +1; c+=ff(a,b) } cout<<”得分:”< 10. #include #include double a,b,c; cout<<”输入一元二次方程的二次项系数、一次项系数和常数 项:”< cin>>a>>b>>c; double d=b*b-4*a*c; if(d<0.0) { cout<<”此方程没有实根!”< exit(1); } double x1,x2; if(d==0.0) 10 x1=x2=-b/(2*a); else { x1=(-b+sqrt(d))/(2*a); x2=(-b-sqrt(d))/(2*a); } cout<<”此方程的两个根为:”< cout<<”x1=”< } 四、编写下列程序 1. 某城市为鼓励节约用水,对居民用水量作如 下规定:若每人每月用水量不超过2吨,则按0.3元收费;若大于2吨但不超过4吨,则其中2吨按0.3元收费,剩余部分按每吨0.6元收费;若超过4吨,则其中2吨按0.3元收费,再有2吨按0.6元收费,剩余部分按每吨1.2元收费。试根据一户居民的用水量和该户人口数计算出应交纳的水费。 2. 某班级学生进行百米跑测试,规定成绩在12 秒以内(含12秒)为优秀,在12秒以上至15秒为达标,在15秒以上为不达标,编一程序,从键盘上输入每个人的成绩,分别统计出成绩为优秀、达标和不达标各多少人?各占学生总数的百分比是多少? 210 3. 计算1+3+3+... +3的值。 222 4. 求满足不等式2+4+? +n<1000的最大n 值。 5. 求出从键盘上输入的10个整数中的最大值。 6. 已知6<=a<=30,15<=b<=36,求满足不定方程 2n+5b=126的全部整数组解。如(13,20)就是一个整数组解。 7. 假定有100名中小学生参加义务植树活动, 共植树100棵,其中高中生每人值3棵,初中生每人植两棵,小学生每两人植1棵。并且已知参加植树的高中、初中和小学生的人数均不小于10人,问他们各为多少人? 8. 已知y=1+(1/2)x+(1/3)x2+?+(1/10)x9,求 每取一个值时所对应的y值,其中x的每个值由键盘输入,直到输入终止标准-100为止。 9. 在输出窗口中显示出如下图形: *********** ********* ****** *** * 第四章 数组和字符串 一、填空题 1. 数组元素a[i]是该数组中的第______个元 素。 2. 元素类型为int的数组a[10]共占用______ 字节的存储空间,其中a[5]元素的字节地址为______。 3. 元素类型为double的二维数组a[4][6]共占 用______字节的存储空间,其中a[2][5]元素的字节地址为______。 4. 元素类型为char的二维数组a[10][30]共占 用______字节的存储空间,其中a[3][4]元素的字节地址为______。 5. 假定对数组a[]进行初始化的数据为 {2,7,9,6,5,7,10},则a[2]和a[5]分别被初始化为______和______。 6. 假定对二维数组a[3][4]进行初始化的数据 为{{3,5,6},{2,8},{7}},则a[0][0],a[1][1]和a[2][3]分别被初始化为______,______和______。 7. 存储字符’a’和字符串“a”分别需要占用 ______和______个字节。 8. 空串的长度为______,存储它需要占用 ______个字节。 9. 字符串”\\’a\\’xy=4\\n”的长度为______。 10. 字符串”a:\\\\xxk\\\\数据”的长度为______。 11. 对于一个长度为n的字符串,需要占用 ______个字节,用于存储该字符串的字符数组的长度至少为______。 12. 若a是一个字符数组,则cin>>a表示从键盘 上读入一个______到数组a中,cout< 13. 一个二维字符数组a[10][20]能够存储 ______个字符串,每个字符串的长度至少为______。 14. 对一个一维字符数组a进行初始化的数据 为”12345”,则a[0]和a[3]元素对应的初值分别为______和______。 15. 对一个二维字符数组a进行初始化的数据为 {“123”,“456”,“789”},则a[1]和a[4]元素对应的初始字符串分别为______和______。 16. strlen(“apple”)的值为 ______,strcmp(“a”,”A”)的值为______。 11 17. 假定字符数组a中保存的字符串为”abc”, 则调用strcat(a,”def”)后a中保存的字符串变为______。 18. 若需要把一个字符串”aaa”赋值到字符数组 a中,则需要执行______的函数调用实现。 19. 假定字符数组a中所存的字符串为 “abcdbcdf”,则strchr(a,’c’)的值比strrchr(a,’c’)的值小______。 20. 假定字符数组a 中的所存字符串为” abcdedf”,则strstr(a,’cd’)的返回值比a的值大______。 21. 使用”type int integer;”语句把______ 定义为______的别名,以后使用integer定义的对象具有______类型。 22. 使用”type int AA[10];”语句定义______ 为含有______个______型元素的数组类型。 23. 使用”type char BB[10][50];”语句定义 ______为含有______行______列共______个______型元素的数组类型。 二、写出下列程序运行后的输出结果并上机验证 1. #include void main() { int a[10]={12,39,26,41,55,63,72,40,83,95}; int i1=0,i2=0; for(int i=0;i<10;i++) if(a[i]%2==1)i1++;else i2++; cout< 2. #include void main() { int a[8]={36,25,48,14,55,40,32,66}; int b1,b2; b1=b2=a[0]; for(int i=1;i<8;i++) if(a[i]>b1) { if(b1>b2) b2=b1; b1=a[i]; } cout< 3. #include void main() { int a[8]={36,25,48,14,32,66}; int b1,b2; b1=b2=a[0]; for(int i=1;i<8;i++) if(a[i] if(b1 cout< } 4. #include void main() { char a[]=”abcdabcabfgacd”; int i1=0,i2=0,i=0; while(a[i]) { if(a[i]==’a’) i1++; if(a[i]==’b’) i2++; i++; } cout< 5. #include void main() { char a[]=”abcdabcabdaeff”; int b[5]={0},i=0; while(a[i]) { switch(a[i]) { case ‘a’: b[0]++;break; case ‘b’: b[1]++;break; case ‘c’: b[2]++;break; case ‘d’: b[3]++;break; default: b[4]++; } i++; } for(i=0;i<5;i++) cout< 6. #include void main() { int a[10]={76,83,54,62,40,75,90,92,77,84}; int b[4]={60,70,90,101}; int c[4]={0}; for(int i=0;i<10;i++) { int j=0; while(a[i]>=b[j]) j++; c[j]++; } for(i=0;i<4;i++) cout< 7. #include void main() { int a[3][4]={{1,2,7,8},{5,6,11,12},{9,10,3,4}}; int m=a[0][0]; int ii=0,jj=0; for(int i=0;i<3;i++) for(int j=0;j<4;j++) if(a[i][j]>m) { m=a[i][j]; ii=i; jj=j; } cout< 8. #include #include char a[5][10]={“student”,”worker”,”cadre”,”soldier”,”peasant”}; char s1[10],s2[10]; strcpy(s1,a[0]);strcpy(s2,a[0]); for(int i=1;i<5;i++) { if(strcmp(a[i],s1)>0) strcpy(s1,a[i]); if(strcmp(a[i],s2)<0) strcpy(s2,a[i]); 12
共分享92篇相关文档