循环与数组题目 下载本文

1.有一分数序列: 2/1 3/2 5/3 8/5 13/8 21/13...... 求出这个数列的前N项之和,保留两位小数。样例输入

10 样例输出

16.48

#include #include using namespace std; int main() { double i,n,b=2.0,a=1,t=0,s,sum=0,q; cin>>n; for(i=0;;i++) { t++; s=b/a; sum+=s; q=b; b=b+a; a=q;

if(t==n) break; }

cout<

2. 输入n,求1*2*3*4*5*......*n的乘积并输出结果。样例

输入

5 样例输出

120

#include using namespace std; int main() { int i,b=1,n; cin>>i;

for(n=1;n<=i;n++) b=b*n; cout<

等于该本身。 例如:153是一个水仙花数,因为153=1^3+5^3+3^3。 Output:

输入

输出

所有的水仙花数,从小的开始。 每行一个

#include using namespace std; int main() { int i,b,n,a,t; for(i=100;i<1000;i++) { a=i;b=0; for(n=1;;n++) { t=a; a=a/10; b=b+t*t*t;

} }

if(a==0) break;} if(b==i) cout<

return 0;

4.编程求

n之内的所有“完数”。所谓“完数”是指一个数恰好等于它的因子之和。

例如,6是完数,因为6=1+2+3.

样例输入

6 样例输出

6 #include using namespace std; int main() { int i,j,b,n,a,t,sum; cin>>n; for(i=1;i<=n;i++) { sum=0; for(j=1;j

5输入一串字符,统计其中大写英文字母、小写英文字母、数字字符的个数。当输入#

时,程序结束

输出

大写英文字母、小写英文字母、数字字符的个数

样例输入

AbcEFg123()*^fHY# 样例输出

5 4 3

6.用循环语句打印一个n层图案,从上往下,每层的‘#’的数量分别是

1,3,5,......,2*n-1

样例输入

3 样例输出

# ### #####

#include using namespace std; int main() { int i,j,a,b,n; cin>>n; b=n-1; for(i=1;i<=n;i++) { for(a=b;a>0;a--) cout<<\ b=b-1;

for(j=0;j<2*i-1;j++) cout<<\ cout<

7. 题目描述

输入n,计算并输出n项阶乘的和

样例输入

4 样例输出

33 #include using namespace std; int main() { int i,j,a=0,b,n; cin>>n; for(i=1;i<=n;i++) { b=1; for(j=1;j<=i;j++) b=b*j; a+=b;} cout<

8. 题目描述

从键盘输入任意正整数,判断该数是否是回文数。所谓回文数就是从左到右读这个数与从右到左读这个数是一样的。例如12321、1221都是回文数。

输出

各个测试值是否是回文数,是,就输出Yes,不是,就输出No

样例输入

3 4554 123 121 样例输出

Yes No Yes #include using namespace std; int main() { int i,j,a,b,n,sum,t; cin>>n; for(i=1;i<=n;i++) { cin>>a; b=a;sum=0; for(j=1;;j++) { t=a; a=a/10; sum=sum*10+t; if(a==0) break;} if(sum==b) cout<<\ else cout<<\

} return 0; }

9. 题目描述

定义一个大小为10的整型数组,从键盘任意输入10个数据存入数组,统计负数的个数。

输入

测试数据的组数n 第一组测试数据 第二组测试数据 ........

第n组测试数据

输出

第一组测试数据中负数的个数 第二组测试数据中负数的个数 .......

第n组测试数据中负数的个数

样例输入

3 -1 3 4 -10 -5 -90 7 8 0 -2 5 6 -32 -9 12 23 -46 -65 -70 -100 -2 -3 -4 -6 7 8 12 2 34 12 样例输出

5 6 4 #include using namespace std; int main() { int i,j,a[10],number,n; cin>>number; for(i=1;i<=number;i++) { n=0; for(j=0;j<10;j++) {cin>>a[j]; if(a[j]<0) n++;} cout<

10. 题目描述

定义一个大小为10的整型数组,让用户从键盘输入10个数据;然后让用户输入一个数据,在数组中查找该数据第一次出现的位置,找到了,输出该元素的下标,找不到,输出“Not found”。

输入

测试数据的组数

第一组测试数据的10个元素的值 第一组要查找的值

第二组测试数据的10个元素的值 第二组要查找的值 .........

输出

输出查找的情况

样例输入

3 11 22 33 44 55 66 7 8 9 100 55 12 34 56 78 -4 -5 -7 90 99 23 100 -9 56 91 92 90 38 39 21 34 61 61 样例输出

4 Not found 9 #include using namespace std; int main() { int i,j,a[10],number,n; cin>>number; for(i=1;i<=number;i++) { for(j=0;j<10;j++) cin>>a[j]; cin>>n; for(j=0;j<=10;j++) { if(a[j]==n) {cout<

11. 题目描述

定义一个10个元素的整型数组,输入10个整数到数组,对数组排序,然后输出。注意:输出时,每个元素之间以空格相间,但最后一个元素后面没有空格,直接换行。

输入

测试数据的组数n 第一组测试数据 第二组测试数据 ..........

输出

排序后的第一组数据 排序后的第二组数据 .........

样例输入

2 23 1 -5 6 -9 8 7 65 99 -100 99 87 0 -34 -23 123 34 -59 81 -2 样例输出

-100 -9 -5 1 6 7 8 23 65 99 -59 -34 -23 -2 0 34 81 87 99 123

#include using namespace std; int main() { int i,j,a[10],number,n,t; cin>>number; for(i=1;i<=number;i++) { for(j=0;j<10;j++)

}

cin>>a[j];

for(n=9;n>0;n--) for(j=0;ja[j+1]) { t=a[j];a[j]=a[j+1];a[j+1]=t;} for(j=0;j<9;j++) cout<

return 0;

12.