鱼C论坛

 找回密码
 立即注册
查看: 2047|回复: 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 不行
#include<stdio.h>
int main()
{
        double p,t;
        int r,i;
        char ch;
s:        printf("Please Input r:");
        scanf_s("%d",&r);
        printf("Please Input p:");
        scanf_s("%lf",&p);
        t = p;
        for (i = 1; i < r; i++)
        {
                t *= p;
        }
        printf("%lf ^ %d == %lf\n",p,r,t);
        while ((ch = getchar())!= '\n');
        goto s;
        return 0;
}
#include<stdio.h>
int main()
{
        double p,t;
        int r,i;
        char ch;
s:        printf("Please Input r:");
        scanf_s("%d",&r);
        printf("Please Input p:");
        scanf_s("%lf",&p);
        t = p;
        i = 1;
        while (i<r)
        {
                t *= p;
                i++;
        }
        printf("%lf ^ %d == %lf\n",p,r,t);
        while ((ch = getchar())!= '\n');
        goto s;
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-26 02:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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