c++经典编程题目.doc_第1页
c++经典编程题目.doc_第2页
c++经典编程题目.doc_第3页
c++经典编程题目.doc_第4页
c++经典编程题目.doc_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本题序号:89能被19整除又能被31整除且末位不是奇数的四位数有几个?最小的一个是多少?#includeusing namespace std;void main()int n,min=9999,count=0;for(n=1000;n=9999;n+)if(n%19=0&n%31=0&n%2=0) count+;coutcount.nn) min=n;coutmin=minendl;本题序号:90有一个分数序列:1/2,2/3,3/5,5/8,8/13,13/21。求:(1)这个序列的前20项之和;(2)第15项的值。#includeusing namespace std;float a(int);float b(int);void main()int n;coutn;float sum=0,fn;for(int i=1;i=n;i+)fn=a(i)/b(i);coutf(i)=fnendl;sum+=fn;coutsum(n)=sum1) return b(n-1);float b(int n)if(n=1) return 2;else if(n1) return a(n-1)+b(n-1);本题序号:91所有能被13整除又能被17整除且末位不是偶数的三位数有几个?最大的一个?#includeusing namespace std;void main()int n,max=100,count=0;for(n=100;n=999;n+)if(n%13=0&n%17=0&n%2!=0) count+;coutcount.nendl;if(maxn) max=n;coutmax=maxendl;本题序号:92 有一个7层灯塔,每层所点灯数都等于该层上一层的两倍,灯的总数是381盏,求:塔底灯数?第几层的灯数为48?#includeusing namespace std;int f(int,int);void main()for(int m=1;m0;i-) fn=f(i,m); fli-1=fn; sum+=fn; if(sum=381) for(int i=6;i=0;i-) cout第i+1层:fliendl;int f(int n,int m)if(n=7) return m;if(n7) return f(n+1,m)*2; 本题序号:93设某四位数的各位数字的平方和等于100,求最大和最小的4位数是多少?共多少个?#include using namespace std;int main(void) int count=0,min=9999,max; for (int i=1000; imax) min = max; cout sum = count endl; cout max = max ; min = min endl; return 0;本题序号:94一球从100米高度自由落下,每次落地后反跳回原高度的一半再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?#include using namespace std;int main(void) float h=100.0,sum=100.0; for (int i=1; i10; i+) h = h/2; sum += h*2; cout The tenth height: h endl; cout Total covered: sum endl; return 0;本题序号:95 求出1,1000间有奇数个因子的数有多少个,其中最大的一个?#include using namespace std;int main(void) int sum=0,max; for (int i=1; i=1000; i+) int count=0; for (int j=1; ji; j+) if (i%j=0) count+; if (count%2) sum+; max = i; cout sum = sum endl; cout max = max endl; return 0;本题序号:96有一个分数系列:2/1,3/2,5/3,8/5,13/8,21/13,请求出这一数列的前20项之和。#include using namespace std;int main(void) int fib(int); float sum=0; for (int i=1; i=20; i+) sum += (float)fib(i+1)/fib(i); cout sum = sum endl; return 0;int fib(int n) if (n = 1) return 1; else if (n = 2) return 2; else return fib(n-1)+fib(n-2);本题序号:97有3个红球,5个白球,6个黑球,从中任意取出8个球,且其中必须有白球,请求出共有多少种取法?#include using namespace std;int main(void) int count=0; for (int i=0; i=3; i+) for (int j=1; j=5; j+) for (int k=0; k=6; k+) if (i+j+k=8) count+; cout total = count (9+8)。#include using namespace std;int main(void) int count=0; for (int i=10; i(gw+sw) count+; for (int j=100; j(gw+sw+bw) count+; cout total = count endl; return 0;本题序号:99若用0至9之间不同的三个数构成一个三位数,请问共有多少种方法?#include using namespace std;int main(void) cout total = 9*9*8 endl; return 0;本题序号:100鸡兔共30只,脚共有90个,请计算鸡兔各多少只?#include using namespace std;int main(void) for (int ra=1; ra=22; ra+) for (int ch=1; ch=30; ch+) if (ra+ch=30 & ra*4+ch*2=90) cout chicken = ch endl; cout rabbit = ra endl; return 0;本题序号:101编写程序,求1-3+5-7+.+-99+101的值。#include using namespace std;int main(void) int sum=0; for (int j=1,i=1; i=101; i+=2,j+) if (j%2) sum += i; else sum -= i; cout sum = sum endl; return 0;本题序号:102有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天后能卖完?#include using namespace std;int main(void) int total=1020,count=0; while (total0) int tmp; tmp = total/2+2; total -= tmp; count+; cout count days sell out. endl; return 0;本题序号:103求数列1,3,3,3,5,5,5,5,5,7,7,7,7,7,7,7。求:第40项的值;值为17的第1个数是数列中第几项?#include using namespace std;int main(void) int val=0,i=1; while (1) val += i; if (val40) cout The 40th value is: i endl; break; i += 2; while (1) i += 2; if (i=17) cout The first 17 is: val+1 th. endl; break; val += i; return 0;本题序号:104求方程: 在(0,1)区间内的解,精度为。本题序号:105编写函数int f(char *s),判断s所指的串是否为“回文串”,即前后对称的串,如:“a131a”、“a1bb1a”,若是则返回1,否则返回0。其中main()的定义如下:int main() char a=a131a; if (f(a) couta是回文endl; else couta不是回文endl; return 0; #include #include using namespace std;int main(void) int f(char *s); char a=a131a; if (f(a) cout a 是回文 endl; else cout a 不是回文 endl; return 0;int f(char *s) int n=strlen(s); for (int i=0; in/2; i+) if (si != sn-i-1) return 0; return 1;int main()char a=a131a;if (f(a) couta是回文endl;else couta不是回文endl;return 0;本题序号:137求s=2+22+222+.+222.2的和,即第n个加数是一个n位的整数,且各数位上的数字均为2,例如当n=4时,s=2+22+222+2222。要求设计一个函数int f(int n)求每一个加数,在main()中用累加求和方式求出总和。#include stdafx.h#include int f(int n);int main(int argc, char* argv) int s=0,i,n; coutn; for(i=1;i=n;i+) s=s+f(i); cout2+22+222+.=sendl; return 0;int f(int n)int i,sum = 0;int temp = 2;for(i=1;i=n;i+)sum += temp;temp *= 10;temp +=2;return sum;本题序号:138完成以下主函数,在具有n个元素的一维数组a(a0,a1,.,an-1)中查找等于y的元素的个数与下标。若有多个相等的元素,则输出最后一个相等元素的下标。其中,y的值由键盘输入,变量c存贮个数, 变量m存放下标。例如, 在a10=21,33,22,33,45,46,32,21,33,4查找33, 个数为3,下标为8。#include using namespace std;void main() int a10=21,33,22,33,45,46,32,21,33,4; int y,c,m; /-以下开始自编代码- /-以上为自编代码- couta中值为y的元素个数 c 最后一个下标为 mendl;本题序号:5求1000,2000之间最小的素数和最大的素数。 要求判断一个数是否为素数的函数原型为: int isprime(int x); 若x是素数,则返回1,否则返回0。#include using namespace std;int main(void) int isprime(int x); int i=1000,j=2000; while (!isprime(i+) ; cout min prime: i-1 endl; while (!isprime(j-) ; cout max prime: j+1 endl; return 0;int isprime(int x) for (int i=2; ix; i+) if (x%i=0) return 0; return 1;本题序号:6计算以下表达式的值: 即第n个加数是一个n位的整数,且各数位上的数字均为3。要求n由主函数输入,设计一个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论