do-while语句

一、将正整数分解成质因数。
例如:将一个大于一的正整数分解成质因数。
输入90,打印出90=2x3x3x5。
题目分析:为了将n分解成质因数,应先找到一个最小的质数k,然后按照步骤完成。
1、如果这个质数恰好等于n,则说明分解质因数的过程已经结束,输出即可。
2、如果n!=k,但是能被k整除,则应该打印出k的值,并用n除以k的商作为新的正整数n,重复执行第1步。
3、如果n不能被k整除,则用k+1作为新的k,重复执行第1步。

#include<iostream.h>
void main()
{
    int n,k=2;
    cin>>n;
    cout<<n<<"=";
    while(n!=k)
    {
        if(n%k==0)
        {
            cout<<k<<"*";
            n=n/k;
        }
        else
            k++;
    }
    cout<<n;
}

do-while循环
do-while循环语句是实现“直到”型循环结构的语句。
一般形式是:
do
语句;
while(表达式);
语义是:先执行循环语句一次,在判断表达式的值,若为真(非0)则继续循环,否则终止循环。
例如:用do-while计算前n项的平方和。

#include<iostream.h>
void main()
{
    int n,i=1;
    int sum=0;
    cin>>n;
    do
    {
        sum=sum+i*i;
        i++;
    }while(i<=n);
    cout<<sum;
}

使用规则
在if或者while语句中,表达式后不能加分号,而在do-while语句中表达式后面必须加分号。

例题一:从键盘上输入一个整数,计算其位数,例如:输入12345,输出结果是5;输入-123,输出结果是3,输入0,输出结果是0;
题目分析:一个整数由多位数字组成,计算位数的过程需要一位一位的进行,因此是个循环过程,循环次数由位数本身决定,由于需要计算的整数需要输入,所以无法知道循环次数,但任何整数需要至少一位,也就是说至少需要一次循环,因此可以选择do-while循环。

#include<iostream.h>
void main()
{
    int n;
    int count=0;
    cin>>n;
    if(n<0)
        n=-n;
    do
    {
        n=n/10;
        count++;
    }while(n>0);
    cout<<count;
}

例题 二、用格里高利公式求pai的值。要求精确到最后一项的绝对值小于1e-5.
公式为:pai/4=1-1/3+1/5-1/7+……

#include<iostream.h>
#include<math.h>
void main()
{
    int a=1,plag=1;
    double stem=0,pi=0;
    do{
        stem=plag*1.0/a;
        pi=pi+stem;
        a=a+2;
        plag=-plag;
    }while(fabs(stem)>1e-5);
        pi=pi*4;
    cout<<pi;
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值