鱼C论坛

 找回密码
 立即注册
查看: 1706|回复: 3

求帮助。。看看我的思路对不对

[复制链接]
发表于 2014-4-18 11:59:44 | 显示全部楼层 |阅读模式
1鱼币
从键盘上任意输入两个整数p、r,分别使用while、do-while、for循环,求解p的r次方,并输出显示结果。

最佳答案

查看完整内容

#include int main() { int p, r; int result; int tmp; puts("输入整数:p>0, r>0,求解p^r"); scanf("%d%d",&p,&r); tmp = r; result = 1; while( tmp ) { result *= p; --tmp; } printf("用while求p^r=%d\n", result); tmp = r; result = 1; do { result *= p; --tmp; }while(tmp); printf("用do while求p^r=%d\n", result); tmp = r; result = 1; for(tmp=r,result= ...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-4-18 11:59:45 | 显示全部楼层
#include <stdio.h>
int main() {
        int p, r;
        int result;
        int tmp;
        puts("输入整数:p>0, r>0,求解p^r");
        scanf("%d%d",&p,&r);

       
        tmp = r;
        result = 1;
        while( tmp ) {
                result *= p;
                --tmp;
        }
        printf("用while求p^r=%d\n", result);

        tmp = r;
        result = 1;
        do {
                result *= p;
                --tmp;
        }while(tmp);
        printf("用do while求p^r=%d\n", result);

        tmp = r;
        result = 1;
        for(tmp=r,result=1; tmp; --tmp) {
                result *= p;
        }
        printf("用for求p^r=%d\n", result);
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-4-18 15:47:50 | 显示全部楼层
pow(p, r)   //这个是求次方的函数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-4-18 17:39:30 | 显示全部楼层
do while 不行
应为do while 是先执行了在判断 如果是一次就不用执行任何代码 应该有说过 while 和 for 是可以等价转换的
但 do while 不行
  1. #include<stdio.h>
  2. int main()
  3. {
  4.         double p,t;
  5.         int r,i;
  6.         char ch;
  7. s:        printf("Please Input r:");
  8.         scanf_s("%d",&r);
  9.         printf("Please Input p:");
  10.         scanf_s("%lf",&p);
  11.         t = p;
  12.         for (i = 1; i < r; i++)
  13.         {
  14.                 t *= p;
  15.         }
  16.         printf("%lf ^ %d == %lf\n",p,r,t);
  17.         while ((ch = getchar())!= '\n');
  18.         goto s;
  19.         return 0;
  20. }
复制代码
  1. #include<stdio.h>
  2. int main()
  3. {
  4.         double p,t;
  5.         int r,i;
  6.         char ch;
  7. s:        printf("Please Input r:");
  8.         scanf_s("%d",&r);
  9.         printf("Please Input p:");
  10.         scanf_s("%lf",&p);
  11.         t = p;
  12.         i = 1;
  13.         while (i<r)
  14.         {
  15.                 t *= p;
  16.                 i++;
  17.         }
  18.         printf("%lf ^ %d == %lf\n",p,r,t);
  19.         while ((ch = getchar())!= '\n');
  20.         goto s;
  21.         return 0;
  22. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-7 18:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表