C++程序设计基本编程题型全解(3)

2018-11-22 22:46

}

int num,sum; int factor,j; cin>>num;

cout<<\for(factor = 1;factor <= num;factor++) { }

cout<

cout<<\

cout<<\char flag; cin>>flag;

if((flag == 'y') || (flag == 'Y')) { }

cout<<\for(j = 1;j <= 100;j++) { }

cout<

sum = 0;

for(factor = 1;factor <= j;factor++) { } sum -= j; if(sum == j)

cout<

sum += factor;

if((num % factor) == 0)

cout<

(9)编程验证一个数学定理,任意一个正偶数都能分解为两个素数之和,例如,6=3+3、8=3+5。 #include #include void main() {

int n; int i,j; bool flag;

cout<<\请输入任意整数(大于或等于6):\cin>>n;

while (n%2!=0||n<6) {

素数

素数

就是素数

}

}

cout<<\请输入任意整数(大于或等于6):\cin>>n;

for ( i=3;i<=n/2;i+=2) { }

flag=false;

for( j = 3; j * j <= i; j += 2) //内层循环

if( i % j == 0)

break; if(j * j > i){ } continue;

flag=true;

//如果被整除,i不是素数

//停止内层循环 //如果循环到头了,i就是

if (!flag)//判断当前的i不是素数则执行下一次循环 flag=false;

for (j=3; j * j <= (n-i);j += 2)//证明后一部分是素数 { }

cout<

break;

//如果被整除,i不是//停止内层循环 //如果循环到头了,i

if(j * j > (n - i) ){ }

flag=true;

if (flag)

第五单元 函数和编译预处理

根据题目要求,编写完整的程序,可所用已有函数,也可自行添加函数

(1)编写一个函数int digitSum(int x),返回形参x的十进制数的各位数之和,例如123的各位数为1+2+3=6。

#include int digitSum(int x) {

int sum=0; while(x) { }

sum+=x; x/=10;

return sum; }

void main() { int a; cin>>a;

cout<

(2)编写一个函数,返回三个整数中的最大数并输出。要求先编写函数实现两个数中求最大数。 #include int max_in_two(int a,int b) { if(a > b) else }

int max_in_three(int a,int b,int c) {

return(max_in_two(max_in_two(a,b),c)); }

void main() {

cout<<\ int a,b,c; cin>>a>>b>>c;

cout<<\}

(3)编写一个函数,计算组合数:C(m, r) = m! / (r!×(m-r)!),其中m,r为正整数,且m > r。分别求出C(4,2), C(6,4),C(8,7)的组合数。求阶乘和组合数分别用函数来实现。 #include //求阶乘函数

unsigned factorial(unsigned n){ }

//求组合数函数

unsigned fc(unsigned m,unsigned r) { }

void main()

return factorial(m)/(factorial(r)*factorial(m-r)); if(n == 1) else

return n * factorial(n-1);

//递归调用

return 1; return b; return a;

{ }

(4)设计一个函数,将输入的十进制整数转换为相应的十六进制数并输出,要求输出8个十六进制数。 #include void z(int num) { int i; char ch; if(num/16) z(num/16); i=num; if(i>=10) { }

else cout<<(char)i+0; }

void main() { int x;

cout<<\请输入一个十进制的整数:\ cin>>x;

cout<<\其转换成十六进制数为:\ z(x); cout<

(5)设计一个程序,求出5~500之间的所有素数,要求每行输出5个素数。设计一个函数来判断一个整数是否为素数。

#include #include using namespace std; bool IsPrime(int num); void main() {

int count = 0;

cout<<\本程序输出5-500之间所有素数:\ for(int i = 5; i <= 500; i++) {

if(IsPrime(i)) {

ch=(char)i+55; cout<

cout<<\,2)=\cout<<\,4)=\cout<<\,7)=\

}

}

cout.setf(ios::left); //设置左对齐 cout<

cout<

bool IsPrime(int num) {

if ((num==0)||(num == 1)) return false; for (int i = 2; i <=int(sqrt((double)num)); i++) {

if (num % i == 0) return false; } return true; }

(6)设计一个程序,对于输入的一个正整数x,分解质因数并按从小到大次序输出所有质因数。例如,12=2*2*3, 13=13, 14 = 2*7。

#include void main(void) { int x=0; int temp;

cout<<\请输入任意整数x:\ cin>>x; temp=x; int n=2; cout<<\ while(temp!=1) { }

cout<

if(!(temp%n)) { } else { }

n++; cout<


C++程序设计基本编程题型全解(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:必修三情景式默写学生版

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: