(一)while循环实例:
1. 1+1/2+1/3+1/4+......+1/19
2. 1-1/2+1/3-1/4+1/5......+1/19
3.随机输入一个数,判断是否是素数?
例题(一):
- 1+1/2+1/3+1/4+......+1/19的代码:
#include <stdio.h>
int main(){
double s = 0;
int i = 1;
while(i <= 19){
printf("%d\n", i);
s = s+1.0/i;
i++;
}
printf("s=%f\n",s);
return 0;
}
2.运行结果如下:
例题(二):
1.1-1/2+1/3-1/4+1/5......+1/19的代码:
#include <stdio.h>
int main(){
double s = 0;
int i = 1;
while(i <=19 ){
printf("%d\n", i);
if(i%2 == 0){
s -= 1.0/i;
} else {
s += 1.0/i;
}
i++;
}
printf("s=%f\n",s);
return 0;
}
2.运行结果如下:
例题(三):
1.随机输入一个数,判断是否是素数?的代码:
#include <stdio.h>
#include <math.h> // 用于sqrt函数,优化判断效率
// 判断一个数是否为素数的函数
int isPrime(int num) {
// 小于2的数不是素数
if (num <= 1) {
return 0;
}
// 2是素数
if (num == 2) {
return 1;
}
// 偶数不是素数(除了2)
if (num % 2 == 0) {
return 0;
}
// 只需判断到sqrt(num)即可,减少循环次数
int sqrtNum = (int)sqrt(num);
for (int i = 3; i <= sqrtNum; i += 2) {
if (num % i == 0) {
return 0; // 能被整除,不是素数
}
}
return 1; // 是素数
}
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
if (isPrime(num)) {
printf("%d是素数\n", num);
} else {
printf("%d不是素数\n", num);
}
return 0;
}
2.运行结果如下:
(一)是素数的情况下:
(二)不是素数的情况下: