C++循环结构 23道题(含答案)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
题目、描述、输入、输出、输入样例、输出样例、测试输入、测试输出
循环01:最大数
写一个程序,可以输入一批正数,输入0时结束循环,并且输出最大的正数。
输入39 28 5 63 18 27 0
输出63
测试:
输入153 26 963 28 75 90 156 0
输出963
#include
using namespace std;
int main()
{
int i,max=0;
cin>>i;
while(i!=0)
{
if(i>max)
max=i;
cin>>i;
}
cout< return 0; } 循环02:素数 输入正数n,判断n是否为素数。若为素数则输出1,否则输出0。(提示:素数是指只可以被1和其本身整除的正数(1除外)) 输入10输出0 输入7输出1 测试: 输入9输出0 #include using namespace std; int main() { int n,i,d; cin>>n; for(i=2;i {d=n%i; if(n%i==0) break; } if(n==i) cout<<"1"< else cout<<"0"< return 0; } 循环03:数列求和 输入一个正整数n,计算前n项之和:1+1/4+1/7+1/10..+1/(3*n-2)。 输入5输出1.56978 输入4输出1.49286 #include using namespace std; int main() { int i,n; double s=0; cin>>n; for(i=1;i<=n;i++) s+=1.0/(3*i-2); cout< return 0; } 循环04:西瓜卖几天 n个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完? 说明:当西瓜个数为奇数时,卖一半为一半的整数,如当西瓜个数为5时,卖一半为卖2个。 输入:西瓜个数,输出:天数 输入10输出2 输入50输出4 测试 输入120输出5 #include using namespace std; int main() { int n,d=0; cin>>n; while(n>0) { d++; n=n/2-2; } cout< return 0; } 循环05:成绩判定 输入一个正整数repeat (0 输入一个学生的数学成绩,如果它低于60,输出“Fail”,否则,输出“Pass”。输入5 35 68 49 94 88 输出 Fail Pass Fail Pass Pass 测试 输入8 90 80 60 50 40 30 73 88 59 输出 Pass Pass Pass Fail Fail Fail Pass Pass Fail #include using namespace std; int main() { int repeat,n,i; cin>>repeat; for(i=0;i { cin>>n; if(n<60) cout<<"Fail"< else cout<<"Pass"< } return 0; } 循环06:数列求和 输入1 个正整数n(n<=100),计算并输出1+1/2+1/3+……+1/n 。 输入5输出2.28333 输入4输出2.08333 #include using namespace std; int main() { int n,i=1; double s=0; cin>>n; while(i<=n) { s+=1.0/i; i++;} cout< return 0; } 循环07:水仙花数 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。输入无输出153 370 371 407 #include 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< } return 0; } 循环08:数位之和 输入一个正整数,输出其各个位置上的数字之和。