华北电力大学C++在线测评系统题目与答案。所有程序亲测完美运行,精心排版,适用于C++课程期末复习。
样例输入:1 10 样例输出:4 4.25 样例输入:8 10 样例输出:NO
#include <iostream.h> int main()
{int m,n,gs,i,j,t=0; float sum=0; cin>>m>>n;
for(i=m;i<=n;i++) {gs=0;
for(j=1;j<=i;j++) {if(i%j==0) gs++;} if(gs==2) sum+=i,t++; }
if(sum!=0)
cout<<t<<" "<<sum/t; else
cout<<"NO"; return 0; }
第5题:
输入一个正整数n,求其位数及各位数字之和并输出。
样例输入:14562 样例输出:5 18
#include <iostream.h> int main()
{int n,i=0,sum=0,t1; cin>>n; while(n!=0) {t1=n%10; sum+=t1; n=n/10; i++; }
cout<<i<<" "<<sum; }
第6题:
哥德巴赫猜想指出:任何一个不小于6的偶数都可以表示为两个素数之和。例如:6=3+3 8=3+5 50=3+47。从键盘输入n(n>=6),输出对应的表达式(只输出在所有可能的表达式中第一个素数最小的那个表达式,例如:10=3+7,10=5+5,10=7+3中只输出第一个表
达式10=3+7)。 样例输入:10 样例输出:10=3+7 #include<iostream.h> #include<math.h> int main() {int n,a,b,i; int sum(int); cin>>n;
for(i=2;i<n;i++)
{a=sum(i);b=sum(n-i); if(a==1&&b==1) break;}
cout<<n<<"="<<i<<"+"<<n-i; return 0; }
int sum(int x) {int j,k;
j=2,k=sqrt(x); while(j<=k) {if(x%j!=0)j++; else break;} if(j==k+1) return 1; else
return 0;} 第7题: 将一笔钱(大于8分,小于1元,精确到分)换算成1分、2分和5分的硬币组合(1分、2分、5分的硬币均至少有1枚)。输入整数金额(单位:分),问有几种换算方法? 样例输入:10 样例输出:2
#include<iostream.h> int main() {int n,x,y,z; int s=0; cin>>n;
for(x=1;x<=n;x++) for(y=1;y<=n/2;y++) for(z=1;z<=n/5;z++) {