C语言学习及复习笔记-【6】循环控制

文章提供了两个C语言程序示例,一个是使用do-while循环计算给定数的算术平方根,另一个是通过循环和嵌套循环判断100以内的素数。算术平方根的算法逐步逼近结果,直到精度满足要求。素数检测通过检查数字是否能被2到其平方根之间的数整除来确定。
摘要由CSDN通过智能技术生成

6.循环控制

例子:

1).用 do while 求算术平方根:

#include <stdio.h>
double DoSqrt(double z){
    double a=1;
    double b=0;
    double c=0;
    do{
        if(b*b<z){
            b+=a;
        }
        else{
            c=b;
            b-=a;
            a/=10;
        }
    }while(a>0.000001);

	return (b+c)/2;
}
int main(void){
    double x, y;
    printf("Please input a number:");
    scanf("%lf", &x);
    if(x<0){
        printf("Input error!");
    } 
    else {
        y=DoSqrt(x);
        printf("Sqrt of %g : %g.\n", x, y);
    }
    int z=1;
    do{
        main();//while 10 times
        z++;
    }while(z>10);

    return 0;
}

2).求素数(Prime number)

算法代码:

int PrimeNumber(int n){
    for(i=2;i<=sqrt(n);i++){  
       if(n%i==0){
       		return 0;  //不为素数
       }
       else{
            return 1; //为素数 
       }
    }
}

求100以内的素数。

#include<stdio.h>
#include<math.h>
int main(){
    int i,j;
    printf("100以内的素数有:\n");
    for(i=2;i<100;i++){
        for(j=2;j<sqrt(i);j++){
            if(i%j==0){
            	break;
        	}
        }
        if(j>sqrt(i)){
            printf("%d,\t",i);
        }
    }
}

第一个循环里面。i遍历从2到100以内的所有数字,第二个循环是在2到sqrt(i)之间看看是不是可以整除i。可以整除则不是素数,相反不可以整除,则是素数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

文斗士

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值