题目、描述、输入、输出、输入样例、输出样例、测试输入、测试输出循环01:最大数写一个程序,可以输入一批正数,输入0时结束循环,并且输出最大的正数。
输入39 28 5 63 18 27 0输出63测试:输入153 26 963 28 75 90 156 0输出963#include<iostream>using namespace std;int main(){int i,max=0;cin>>i;while(i!=0){if(i>max)max=i;cin>>i;}cout<<max<<endl;return 0;}循环02:素数输入正数n,判断n是否为素数。
若为素数则输出1,否则输出0。
(提示:素数是指只可以被1和其本身整除的正数(1除外))输入10输出0输入7输出1测试:输入9输出0#include<iostream>using namespace std;int main(){int n,i,d;cin>>n;for(i=2;i<n;i++){d=n%i;if(n%i==0)break;}if(n==i)cout<<"1"<<endl;elsereturn 0;}循环03:数列求和输入一个正整数n,计算前n项之和:1+1/4+1/7+1/10..+1/(3*n-2)。
输入5输出输入4输出#include<iostream>using namespace std;int main(){int i,n;double s=0;cin>>n;for(i=1;i<=n;i++)s+=(3*i-2);cout<<s<<endl;return 0;}循环04:西瓜卖几天n个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完?说明:当西瓜个数为奇数时,卖一半为一半的整数,如当西瓜个数为5时,卖一半为卖2个。
输入:西瓜个数,输出:天数输入10输出2输入50输出4测试输入120输出5#include<iostream>using namespace std;int main(){int n,d=0;cin>>n;while(n>0){d++;n=n/2-2;}cout<<d<<endl;return 0;}循环05:成绩判定输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入一个学生的数学成绩,如果它低于60,输出“Fail”,否则,输出“Pass”。
输入5 35 68 49 94 88输出PassFailPassPass测试输入8 90 80 60 50 40 30 73 88 59输出PassPassPassFailFailFailPassPassFail#include<iostream>using namespace std;int main(){int repeat,n,i;cin>>repeat;for(i=0;i<repeat;i++){cin>>n;if(n<60)cout<<"Fail"<<endl;elsecout<<"Pass"<<endl;}return 0;}循环06:数列求和输入1 个正整数 n(n<=100),计算并输出1+1/2+1/3+……+1/n 。
输入5输出输入4输出#include<iostream>using namespace std;int main(){int n,i=1;double s=0;cin>>n;while(i<=n)s+=i;i++;}cout<<s<<endl;return 0;}循环07:水仙花数打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。
例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。
输入无输出 153 370 371 407#include<iostream>using namespace std;int main (){int n,i,j,k;for(n=100;n<1000;n++){i=n/100;j=n/10%10;k=n%10;if(i*i*i+j*j*j+k*k*k==n)cout<<n<<" ";}return 0;}循环08:数位之和输入一个正整数,输出其各个位置上的数字之和。
输入 1234输出10输入 12534输出15测试输入 4325输出14#include<iostream>using namespace std;int main(){int n,s=0;cin>>n;while(n){s+=n%10;n=n/10;}cout<<s<<endl;return 0;}循环09:奇数和输入32 33 50 34 65 67 0 输出165输入13 15 17 30 35 0 输出80测试输入31 33 50 34 65 67 0 输出196#include<iostream>using namespace std;int main(){int n,s=0;cin>>n;while(n>0){if(n%2!=0)s=s+n;cin>>n;}cout<<s<<endl;return 0;}循环10:求和从键盘输入若干正数,对其求和并输出,遇到负数则终止输入。
输入32 33 50 34 65 67 -1 输出281输入13 15 17 30 35 -2 输出110测试输入31 33 50 34 65 67 -5 输出280#include<iostream>using namespace std;int main(){int n,a=0;cin>>n;while(n>=0){a=n+a;cin>>n;}cout<<a<<endl;return 0;}循环11:特殊数值已知四位数3025有一个特殊性质: 它的前两位数字30和后两位数字25的和是 55, 而55的平方刚好等于该数(55*55=3025). 试编一程序打印所有具有这种性质的四位数.输入无输出2025 3025 9801#include<iostream>using namespace std;int main(){int i,a,b;{a=i/100;b=i%100;if((a+b)*(a+b)==i)cout<<i<<" ";}return 0;}循环12:征税税务部门征收所的税,规定如下:1)收入在1000元以内(含1000),免征;2)收入在1000~3000元以内(含3000),纳税额为收入的3%;3)收入超过3000~5000元以内(含5000),纳税为收入的4%;4)当收入超过5000元时,纳税为收入的6%。
请根据以上关系,输入收入m,输出应缴纳的税收tax。
输入:第一个整数n表示后续有n个收入输出:每个收入对应的纳税额输入4 900 2000 4000 6000输出0 60 160 360#include<iostream>using namespace std;int main(){double m,tax;;int i,n;cin>>n;for(i=1;i<=n;i++){cin>>m;if(m<=1000)tax=0;else if(m<=3000)tax=m*;else if(m<=5000)tax=m*;elsetax=m*;cout<<tax<<" ";}return 0;}循环13:因数个数给定一个正整数n,求它的因数个数。
如6的因数为1、2、3、6,则因数个数为4。
输入12 输出6测试输入30 输出8using namespace std;int main(){int n,i,count=0;cin>>n;for(i=1;i<=n;i++){if(n%i==0)count++;}cout<<count<<endl;return 0;}循环14:最大公约数键盘输入两个正整数m,n,求出他们的最大公约数。
输入20 15 输出5测试输入32 80 输出16#include<iostream>using namespace std;int main(){int m,n,i;cin>>m>>n;for(i=m;i>=1;i--){if(m%i==0&&n%i==0)break;}cout<<i<<endl;return 0;}循环15:斐波那契数列判断第n个斐波那契数列能否被3整除给定斐波那契数列为:F(0)=1, F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2),编写一个程序,输入n(>=0),如果F(n)能被3整除则输出一个“yes”,否则输出一个“no”。
输入8输出yes输入6输出no测试输入12输出yes#include<iostream>using namespace std;int main(){int n,F0=1,F1=1,F,i;for(i=2;i<=n;i++){F=F0+F1;F0=F1;F1=F;}if(F%3==0)cout<<"yes"<<endl;elsecout<<"no"<<endl;return 0;}循环16:计算奇偶数求N(<=100)个数中奇数的平方和与偶数的立方和。
注意:输入格式为,第一个数为N,后面接着N个数。
输出的平方和与立方和以空格隔开输入3 5 8 9 输出106 512测试输入5 5 8 9 10 输出106 1512#include<iostream>using namespace std;int main(){int i,N,n,a=0,b=0;cin>>N;for(i=1;i<=N;i++){cin>>n;if(n%2==0)a+=n*n*n;elseb+=n*n;}cout<<b<<" "<<a<<endl;return 0;}循环17:数位计算对于输入的一个数字,请计算它的各个位上的数字为偶数的和。