循环结构作业
循环结构作业
第1题
计算n以内所有正奇数的和 ? n值通过键盘输入
#include <stdio.h>int main() {int n = 0, sum = 0;printf("想要计算多少正奇数的和:");scanf("%d", &n);for (int i = 1; i <= n; i++) {if (i % 2) {sum += i;}}printf("正奇数的和为:%d\n", sum);return 0;
}
第2题
计算 1 + 1/(2 * 3) + 1/(3 * 4) + …+ 1/(n * (n + 1)) = ?直到最后一相值小于0.00001为至。
#include <stdio.h>int main() {int i = 2;double tmp = 0.0, num = 1.0;do {tmp = 1.0 / (i * (i + 1));num += tmp;i++;} while (tmp > 1e-5);printf("结果为:%lf\n", num);return 0;
}
第3题
计算1+1/2 - 1/3 + 1/4 - 1/5 …+1/n= ? n通过键盘输入
#include <stdio.h>int main() {int n = 0;double num = 1.0;printf("请输入n为:");scanf("%d", &n);for (int i = 2; i <= n; i++) {if (i % 2 == 0) {num += 1.0 / i;} elsenum -= 1.0 / i;}printf("结果为:%.3lf", num);return 0;
}
第4题
计算n的阶乘 ? n! = 123…*n n值通过键盘输入
#include <stdio.h>int main() {int n = 0, num = 1;printf("请输入n为:");scanf("%d", &n);for (int i = 1; i <= n; i++) {num *= i;}printf("结果为:%d", num);return 0;
}
第5题
输出半径为1~10的圆面积,面积大于100时停止
#include <stdio.h>
#define PI 3.1415926int main() {double s;for (int i = 1; i <= 10; i++) {s = PI * i * i;if (s < 100)printf("以%d为半径的圆面积为%.2lf\n", i, s);}return 0;
}
第6题
求输入的十个整数中正数的个数及其平均值
#include <stdio.h>int main() {int p = 0, res = 0, sum = 0;double num ;printf("请输入10个整数:");for (int i = 0; i < 10; i++) {scanf("%d", &p);if (p > 0) {res++;sum += p;}}num = sum / res;printf("正数的个数:%d,平均数数为:%.2lf", res, num);return 0;
}
第7题
打印出100以内能整除7之外的的自然数
#include <stdio.h>int main() {printf("能被7整数的自然数有:");for (int i = 1; i <= 100; i++) {if (i % 7 == 0) {printf("%d ", i);}}printf("\n");return 0;
}
第8题
打印乘法表
#include <stdio.h>int main() {int x, j = 0;for (int i = 1; i < 10; i++) {for (j = 1; j <= i; j++) {x = i * j;printf("%d*%d=%d\t", j, i, x);}printf("\n");}return 0;
}
第9题
我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?
#include <stdio.h>//x+y+z=100 //个数
//15x+9y+z=300 //价格
int main() {int z = 0;double sum = 0.0;for (int x = 0; x < 21; x++) {for (int y = 0; y < 35; y++) {z = 100 - x - y;if ( (5 * x + 3 * y + z / 3.0 == 100) ) {sum = 5 * x + 3 * y + z / 3.0 ;printf("鸡翁有%d,鸡母有%d,鸡雏有%d\n", x, y, z);}}}return 0;
}
第10题
从键盘上输入多个无符号整型数据,直到 0 结束 ,输出所输入数据中的最大值。
#include <stdio.h>int main() {unsigned t, tmp = 0;printf("请输入多个无符号整型数据,输入 0 结束\n");while (t) {scanf("%d", &t);if (tmp < t) {tmp = t;}}printf("最大值为:%d\n", tmp);return 0;
}
思考题
第11题
判断一个数是不是回文数。(回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。如:12321
#include <stdio.h>int main() {int t, tmp = 0, res;printf("请输入一个数:");scanf("%d", &t);res = t;while (t > 0) {tmp = tmp * 10 + t % 10;t /= 10;}if (res == tmp) {printf("是回文数\n");} else {printf("不是回文数\n");}return 0;
}