实验目的
1)了解并掌握循环结构程序的编程方法
2)了解并掌握while语句、do…while语句和for语句以及break语句的使用方法
实验要求
本次实验不要求提交正式实验报告,但要求实验完成后,将每个程序及程序的运行结果依次拷贝到一个word文档中,统一形成一个.doc文档后提交至Blackboard,文档名可用你的姓名+你的学号。
实验内容
程序一内容
编写一个C程序求出显示100-200间的全部素数。
程序一代码
#include <stdio.h>
int is_prime(int n) {
if (n < 2) {
return 0;
}
int i;
for (i = 2; i * i <= n; ++i) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int i;
for (i = 100; i <= 200; ++i) {
if (is_prime(i)) {
printf("%d ", i);
}
}
printf("\n");
return 0;
}
程序一结果
程序二内容
编写一C程序,解决猴子吃桃子问题。
猴子吃桃问题:有一堆桃子不知数目,猴子第一天吃掉一半,觉得不过瘾,又多吃了一只,第二天照此办理,吃掉剩下桃子的一半另加一个,天天如此,到第十天早上,猴子发现只剩一只桃子了,问这堆桃子原来有多少个?
要求用程序求出并显示这堆桃子的个数。
程序二代码
#include <stdio.h>
int main() {
int i;
int sum = 1;
for (i = 1; i <= 9; i++) {
sum = 2 * (sum + 1);
}
printf("一共有%d个桃子", sum);
return 0;
}
程序二结果
程序三内容
输出所有水仙花数。
所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为153=13+53+33。
程序三代码
#include <stdio.h>
#include <math.h>
int main() {
int i;
for (i = 100; i <= 999; i++) {
if (pow(i % 10,3) + pow(i / 100,3) + pow(i / 10 % 10,3)==i) {
printf("%d\n", i);
}
}
return 0;
}
程序三结果
程序四内容
输入一个任意位数(位数小于10位)的十进制数,求其各位数的和。
程序四代码
#include <stdio.h>
int main() {
int a;
scanf("%d", &a);
int sum = 0;
while (a) {
int t = a % 10;
sum += t;
a /= 10;
}
printf("%d", sum);
return 0;
}
程序四结果