北方工业大学 C++模块一试题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
cout<<"是素数!"<<endl; else if(flag==0)
cout<<"不是素数!"<<endl; }
5. 题目: 已知一个数 m(=252)求各位数字之和 #include<iostream.h> void main() {
int a=252; int b,c,d; b=a/100; c=(a-100*b)/10; d=(a-100*b-10*c); cout<<"各位数之和是:"<<b+c+d<<endl;
if(a%c==0) break;
} if(c<=m) sum=sum+a; } cout<<n<<"以内所有素数的和是:"<<sum<<endl; }
10. 题目: 打印水仙花数及个数 n (水仙花数是三位数,每 位数字的立方和等于这个数本身示例见图 1)。
#include<iostream> using namespace std; int main() {
sinx+=t; t=-t*x*x/((n+1)*(n+2)); n+=2; } cout<<"编程求得的 sin("<<x<<")="<<sinx<<endl; cout<<"调用标准函数求得 sin("<<x<<")="<<sin(x)<<endl; return 0; } 21. 题目:从键盘上输入 a、b、c,计算并输出一元二次方程的解。 #include<iostream.h>
void main() {int a,b,c,q; cout<<"请输入三位数,以空格隔开"; cin>>a>>b>>c; q=max(a,b,c); cout<<q<<endl; } 13. 题目:编写一个函数:int isSushu(int n),判断 n 是否是素数。 #include<iostream.h> #include<math.h> int sushu(int n) {
if(a%c==0) break;
} if(c>b) {
add+=a; } } cout<<"1~200 之间所有质数的和是:"<<add<<endl; }
3. 题目:用 while 循环编程,求自然数 1 至 100 之间各奇数平方 和 sum 。
#include <iostream.h> void main() {
2. 题目:求 1 至 200 之间的所有质数,将质数和存入变量 sum 中. #include<iostream.h> #include<math.h> void main() {
int a,b,c; int add=0; for(a=1;a<=200;a++) {
b=sqrt(a); for(c=2;c<=b;c++) {
cout<<"\t\t\t 九 九 乘 法 表"<<endl; cout<<"\t\t\t-------------------"<<endl;
for(int i=1;i<=9;i++) {
for(int j=1;j<=9;j++) cout<<i<<"x"<<j<<'='<<i*j<<'\t';
cout<<endl; } return 0; } 18. 题目: 利用 for 循环和 break 语句实现:从键盘上输入若 干个(小于 10 个)正整数,直到输入负数为止, 计算并输出已输入的正整数之和。
9. 题目: 已知 n,计算 n 以内的所有素数之和 sum 。 #include<iostream.h> #include<math.h> void main() {
int n,m,a,c,sum=0; cin>>n; for(a=1;a<=n;a++) {
m=sqrt(a); for(c=1;c<=a;c++) {
cout<<"请输入一个自然数:"; cin>>num; do {
digital=num%10; num/=10;
cout<<digital; }while(num>0); cout<<endl; }
17. 题目: 利用循环语句输出“九九乘法表”。 #include<iostream> using namespace std; int main() {
7. 题目: 用“辗转相除方法”计算两个数 x,y 的最大公约 数
#include<iostream> using namespace std; void main() {
int m,n,t,r; cout<<"请输入两个正整数:"; cin>>m>>n;
if(m<n){t=m;m=n;n=t;} while((r=m%n)!=0) {
int i,j,k,m,n,s(4); cout<<"水仙花数:"; for(i=1;i<=9;i++)
for(j=0;j<=9;j++) for(k=0;k<=9;k++)
{ m=i*i*i+j*j*j+k*k*k; n=100*i+10*j+k; if(m==n)cout<<m<<' ';
} cout<<"有"<<s<<"个水仙花数"<<endl; return 0; } 11. 题目: 找出 1-200 之间的完数及个数 n(完数是一个数的因 子之和是这个数本身。例如 6=1+2+3)。 #include<iostream.h> void main() { int m,s,i; for(m=2;m<=200;m++) { s=0; for(i=1;i<m;i++) { if((m%i)==0)
int main()
{
float score;
cout<<"请输入成绩:";
cin>>score;
if(score>=0 && score<=100)
switch(int(score)/10)
{
case 10:
case 9:cout<<score<<"分:优秀"<<endl;
来自百度文库
break;
case 8:cout<<score<<"分:良好"<<endl;
int a,b;
long int c=0; for(a=1;a<=99;) {
b=a*a; c+=b; a=a+2; } cout<<"1~100 所有奇数的平方和是:"<<c<<endl; }
4. 题目: 判断一个数 23437 是否是素数(要求程序中设置一 个参数 flag,flag 为 1 代表是素数,为 0 代表不是)
(要求输入:10, 3, 9, 27, 12, -5) #include<iostream> using namespace std; const int M=10; void main() {
int i,n,sum=0; cout<<"请输入若干个正整数(输入负数就结束输入):"<<endl; for(i=0;i<M;i++) {
}
16. 题目: 输入一个自然数 num,将该数的每一位数字按反序输出 digital。
例如:输入 123456,输出 654321。 (要求输入 123456)
#include<iostream>
using namespace std;
void main()
{
unsigned long int num,digital;
m=n; n=r; } cout<<"最大公约数为:"<<n<<endl; }
8. 题目:已知三个数 a,b,c,按由小到大的顺序存入 a,b, c 中并输出。
#include<iostream.h> void main() {
int a,b,c,q;
cin>>a>>b>>c; if(a>b) {q=a;a=b;b=q;} if(a>c) {q=a;a=c;c=q;} if(b>c) {q=b;b=c;c=q;} cout<<a<<"\t"<<b<<"\t"<<c<<endl; }
break;
case 7:cout<<score<<"分:中等"<<endl;
break;
case 6:cout<<score<<"分:及格"<<endl;
break;
default:cout<<score<<"分:不及格"<<endl;
}
else
cout<<"输入数据有误!"<<endl;
return 0;
s=s+i; } if(s==m) {
cout<<m<<"its factures are:"; for(i=1;i<m;i++)
if(m%i==0) cout<<i<<endl;
} } } 12. 题目:编写一个 C++函数 max,输入参数为 3 个实数,输出为其中的最大数。 #include<iostream.h> int max(int a,int b,int c) { int q; if(a>c) {q=a;a=c;c=q;} if(a>b) {q=a;a=b;b=q;} if(b>c) {q=b;b=c;c=q;} return (c); }
1. 题目: 求多项式 1!+2!+3!+……+15!的值并 存入变量 out 中.
#include<iostream> using namespace std; void main() {
int f=1,sum=0,i; for(i=1;i<=15;i++){
f *= i; sum += f; } cout<<sum<<endl; }
#include<iostream> #include<cmath> using namespace std; int main() {
int n=1; double x,t,sinx(0); cout<<"输入:"; cin>>x; t=x; while(fabs(t)>=0.0000001) {
cin>>n; if(n<0)
break; sum+=n; }
cout<<"输入的整合正整数之和为:"<<sum<<endl; }
19. 题目:利用 for 循环和 continue 语句实现:输出 100~200 之间所有能够被 8 整除的所有整数。 #include<iostream> #include<iomanip> using namespace std; void main() {
int q,w,e; q = sqrt(n); for(w=2;w<=n;w++) {
if(n%w==0) break; } if(w>q) e=1; else e=0; return(e); } void main() { int n,q; cout<<"请输入数字:"; cin>>n; q=sushu(n); if(q==1) cout<<"是素数!"<<endl; else if(q==0) cout<<"不是素数!"<<endl; } 14. 题目:从键盘中分别给两个整形变量 x 和 y 赋值为 20 和 10,通过编程使它 们的值交换,然后输出交换以后的 x 和 y 的值。 #include<iostream.h> void main() { int x=20,y=10; int q; cout<<x<<"\t"<<y<<endl;
}
6. 题目: 将 1-100 之间奇数顺序累加存入 n 中,直到其和等 于或大于 200 为止
#include<iostream.h> void main() {
int i,n; n=0; for(i=1;i<=100;) {
n+=i; if(n>=200)
break; i+=2; } cout<<n<<endl; }
#include<iostream.h> #include<math.h> void main() {
int a=23437; int b,c,flag; b=sqrt(a); for(c=2;c<=a;c++) {
if(a%c==0) break;
} if(c>b)
flag=1; else
flag=0; if(flag==1)
q=x;
x=y;
y=q;
cout<<x<<"\t"<<y<<endl;
}
15. 题目: 利用 switch 语句将输入的百分制成绩转换成相应的等级。
成绩
等级
100~90
优秀
89~80
良好
79~70
中等
69~60
及格
59~0
不及格
#include<iostream>
using namespace std;
for(int i=100;i<=200;i++) {if(i%8!=0) continue; cout<<setw(5)<<i; } cout<<endl; }
20. 题目:输入 x,计算 sin(x)。计算公式如图片 1 所示.
当第 n 项的绝对值小于 1e-8 时结束,x 为弧度,并调用 标准函数 sin(x)与求出值进行比较。(要求输入 3.14)
相关文档
最新文档