Experimento en lenguaje C 04_ declaración de bucle
Experimento 04 (01) Encuentre el valor aproximado de e
题目描述
自然常数 e 可以用级数
1+1/1!+1/2!+...+1/n!
来近似计算。从键盘输入精度要求
输入描述
从键盘输入精度要求(double 型)
输出描述
输出 e 的近似值
输入样例
0.000001
0.001
输出样例
e=2.7182818011
e=2.7182539683
#include<stdio.h>#include<math.h>intmain(){
double sum, t, n;int i;
i =1;
sum =1;
t =1;scanf("%lf",&n);while(fabs(t)> n){
t = t *(1.0/ i);
sum = sum + t;
i++;}printf("e=%.10lf\n", sum);return0;}
Experimento 04 (02) Descomponer factores primos
题目描述
将一个正整数分解质因数。例如:输入 90,打印出 90=2* 3* 3* 5。
提示:对 n 分解质因数,应先找到一个最小的质数 k,然后按下述步骤完成:
(1)如果这个质数恰等于 n,则说明分解质因数的过程已结束,打印出即可。
(2)如果 n!=k,但 n 能被 k 整除,则应打印出 k 的值,并用 n 除以 k 的商,作为新的正整
数 n,重复执行第一步。
(3)如果 n 不能被 k 整除,则用 k+1 作为 k 的值,重复执行第一步。
输入描述
从键盘输入任意一个合数,如输入 90
输出描述
输出 90=2* 3* 3 * 5
输入样例
60
输出样例
60=2* 2 * 3* 5
#include<stdio.h>intmain(){
int n, k;scanf("%d",&n);
k =2;printf("%d=", n);while(n != k){
if(n % k ==0&& n != k){
printf("%d*", k);
n = n / k;}elseif(n % k !=0){
k = k +1;}}printf("%d\n", k);return0;}
#include<stdio.h>intmain(){
int i, n, x, t;double sum, avg;
sum =0;scanf("%d",&n);
t = n;for(i =1; i <= n; i++){
scanf("%d",&x);if(x >=0&& x <=100){
sum = sum + x;}else{
n++;}}
avg = sum / t;printf("该班的平均分为:%.2lf\n", avg);return0;}
#include<stdio.h>intmain(){
int i, j, m, n;scanf("%d%d",&i,&j);for(m =1; m <= i; m++){
for(n =1; n <= j; n++){
if(m >1&& m < i && n >1&& n < j){
printf(" ");}else{
printf("*");}}printf("\n");}return0;}
Experimento 04 (05) Método iterativo para encontrar la raíz cuadrada de x
#include<stdio.h>intmain(){
int n, i;double t, sum;
sum =0;scanf("%d",&n);
t =1;for(i =1; i <= n; i++){
t = t * i;
sum = sum + t;}printf("%e\n", sum);return0;}
Experimento 04 (07) Juzgar números primos
题目描述
从键盘输入一个数,判断是否为素数
输入描述
从键盘输入一个整数
输出描述
判断是否为素数
输入样例
-10
10
23
输出样例
-10<=0
10 is not a prime number
23 is a prime number
#include<stdio.h>#include<math.h>intmain(){
int i, n, t;
t =0;scanf("%d",&n);if(n <=0){
printf("%d<=0\n", n);}else{
for(i =2; i <=sqrt(n); i++){
if(n % i ==0){
t =1;}}if(t ==1){
printf("%d is not a prime number\n", n);}else{
printf("%d is a prime number\n", n);}}return0;}