C语言,利用while语句写求某个数的n次幂的编程

C语言,利用while语句写求某个数的n次幂的编程

#include <stdio.h>
int main()
{
    int n,i=1;
    double jc = 1;
    scanf("%d",&n);
    while (i<=n)
    {
        jc*=i;
    }
    printf("%g",jc);
    return 0;
}

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7540461
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:编一个函数求n的阶乘;使用for语句和while语句求n的阶乘;关于简单阶乘的求和(C)
  • 除此之外, 这篇博客: C语言中的while循环语句的使用中的 1.while循环 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    while.png

    while(表达式)  

    {

              循环语句:

    }//

    当执行while循环时中,先判断表达式是否为真(非0),则会执行代码块里的循环语句,知道表达式最后为0,才跳出循环。

    如果我们要打印1~10;我们可以这样写:

    int main()
    {
        int i = 1;
        while (i <= 10)
        {
            printf("%d ", i);
         i++;
        }
        return 0;
    }//运行结果如下:
     while循环中出现break和continue时;
     当while循环中出现break时,直接天跳出循环。
    (示例):
    
    int main()
    {
        int i = 1;
        while (i <= 10)
        {
            if (i == 5)
            {
                break;
            }
        printf("%d ", i);
            i++;
        }//当i==5时跳出循环,只打印了1,2,3,4.
    

    while中出现continue时循环直接跳到while的表达式部分,将不执行循环语句中continue以后的语句。

    示例如下:

    int main()
    {
        int i = 1;
        while (i <= 10)
        {
            if (i == 5)
            {
                continue;
            }
            printf("%d ", i);
            i++;。
        }//变成了死循环;当i==5时, 遇见了continuei将不会自加,i总是<=10,就变成了死循环。



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
#include <stdio.h>
int main()
{
      double n,s=1;
      int m,i;
      scanf("%lf %d",&n,&m);
      for(i=1;i<=m;i++)
          s*=n;
      printf("%lf",s);
      return 0;
}