1有一分数序列:2 / 1,3 / 2,5 / 3,8 / 5,13 / 8,21 / 13,… 。求出这个数列的前20项之和。
//规律:前一项的分子为后一项的分母,后一项的分子为前一项的分子分母和
float fsum = 0.0f;
int fenzi = 2;
int fenmu = 1;
int m = 0;
int temp;
while (m < 20) {
fsum += (float)fenzi / fenmu;
temp = fenzi;
fenzi += fenmu;
fenmu = temp;
m++;
}
cout << "前20项和为:"<<fsum << endl;
2编写程序,输入以下10个整数,计算所有正数之和及所有负数之和,并分别打印出来。
int n = 0;
int arr[10];
int inputNum;
while (n < 10) {
cout << "请输入第"<<n+1<<"个数字:(数字不能为0)" << endl;
cin >> inputNum;
arr[n] = inputNum;
n++;
}
//遍历数组
int jisum = 0; //使用之前一定要初始化
int ousum = 0;
for (int i = 0; i < 10; i++) {
if (arr[i] < 0) {
jisum += arr[i];
}
else {
ousum += arr[i];
}
}
cout << "10个整数中奇数和为" << jisum << endl;
cout << "10个整数中偶数和为" << ousum << endl;
3打印出所有的“水仙花数”。所谓“水仙花数”是指一个三位数,其中各位数字的立方和等于该数本身。例如153 = 13 + 53 + 33 。
cout << "请输入一个三位数字" << endl;
int num;
cin >> num;
int ge, shi, bai;
for (int i = 2; i <= num; i++) {
//获取个位
ge = i % 10;
//获取十位
shi = i / 10 % 10;
//获取百位
bai = i / 10 / 10;
if (ge * ge * ge + shi * shi * shi + bai * bai * bai == i) {
cout << "水仙花数为" << i << endl;
}
}