鱼C论坛

 找回密码
 立即注册
查看: 2849|回复: 12

[已解决]求pi的循环次数

[复制链接]
发表于 2020-8-28 22:25:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include <stdio.h>
#include <math.h>

int main()
{
        int sign = 1,count = 0;
        double pi = 0.0,n = 1.0,term = 1.0;
        while(fabs(term)>=1e-6);
        {
                pi = pi+term;
                n = n+2;
                sign = -sign;
                term = sign/n;
                count++;
        }
        pi = pi*4;
        printf("pi = 10.8f%d\n",pi);
        printf("count = %d\n",count);
        return 0;
}
编译无问题,可以运行,但是编译半天也不见输入东西。求解怎么回事啊。用的visual C++6.0
最佳答案
2020-8-28 23:08:29
本帖最后由 baige 于 2020-8-28 23:11 编辑
百年孤独i 发表于 2020-8-28 23:07
#include
int main()
{

两个else if后面的分号去掉
#include <stdio.h>
int main() 
{
        char c;
        int letters = 0,space = 0,digit = 0,other = 0;
        printf("请输入一串字符:\n");
        while((c=getchar())!='\n') 
        {
                if(c>='a' && c<='z'||c>='A' && c<='Z')
                        letters++;
                else if(c==' ')
                        space++;
                else if(c>='0' &&c<='9')
                        digit++;
                else
                        other++;
        }
        printf("字母数:%d\n空格数:%d\n数字数:%d\n其他字符数:%d\n",letters,space,digit,
               other);
        return 0;
}


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-28 22:33:18 | 显示全部楼层
本帖最后由 baige 于 2020-8-28 23:01 编辑

while()后面的分号去掉。  printf("pi = 10.8f%d\n",pi);这个也有错
#include <stdio.h>
#include <math.h>

int main() 
{
        int sign = 1,count = 0;
        double pi = 0.0,n = 1.0,term = 1.0;
        while(fabs(term)>=1e-6)
        {
                pi = pi+term;
                n = n+2;
                sign = -sign;
                term = sign/n;
                count++;
        }
        pi = pi*4;
        printf("pi = %10.8f\n",pi);
        printf("count = %d\n",count);
        return 0;
}

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-28 22:44:35 | 显示全部楼层
#include <stdio.h>

int main() 
{
        double eps = 1e-6;
        double PI = 1.0, temp = 1;
        int count = 0;
        for(int i = 1; temp > eps; i++) 
        {
                temp = temp*i/(i*2+1);
                PI += temp;
                ++count;
        }
        printf("PI = %10.8f\n",PI*2);
        printf("count = %d\n",count);
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-28 22:46:59 | 显示全部楼层

批注 2020-08-28 224540.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-28 23:07:25 | 显示全部楼层
#include <stdio.h>
int main()
{
        char c;
        int letters = 0,space = 0,digit = 0,other = 0;
        printf("请输入一串字符:\n");
        while((c=getchar())!='\n')
        {
                if(c>='a' && c<='z'||c>='A' && c<='Z')
                        letters++;
                else if(c==' ');
                space++;
                else if(c>='0' &&c<='9');
                digit++;
                else
                        other++;
        }
        printf("字母数:%d\n空格数:%d\n数字数:%d\n其他字符数:%d\n",letters,space,digit,other);
        return 0;
}
这个编译中间两个else if出问题 不知道怎么调整
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-28 23:08:29 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
本帖最后由 baige 于 2020-8-28 23:11 编辑
百年孤独i 发表于 2020-8-28 23:07
#include
int main()
{

两个else if后面的分号去掉
#include <stdio.h>
int main() 
{
        char c;
        int letters = 0,space = 0,digit = 0,other = 0;
        printf("请输入一串字符:\n");
        while((c=getchar())!='\n') 
        {
                if(c>='a' && c<='z'||c>='A' && c<='Z')
                        letters++;
                else if(c==' ')
                        space++;
                else if(c>='0' &&c<='9')
                        digit++;
                else
                        other++;
        }
        printf("字母数:%d\n空格数:%d\n数字数:%d\n其他字符数:%d\n",letters,space,digit,
               other);
        return 0;
}


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-28 23:09:18 From FishC Mobile | 显示全部楼层
问题解决的话给个最佳,谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-28 23:12:14 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-8-28 23:28:17 | 显示全部楼层
baige 发表于 2020-8-28 23:08
两个else if后面的分号去掉

#include <stdio.h>
int main()
{
        char c;
        int letters = 0,space = 0,digit = 0,other = 0;
        printf("please input a string of characters:\n");
        while((c=getchar())!='\n');
        {
                if(c>='a'&&c<='z'||c>='A'&&c<='Z');
                letters++;
                else if(c==' ')
                        space++;
                else if(c>='0'&&c<='9')
                        digit++;
                else
                        other++;
        }
        printf("字母数:%d\n空格数:%d\n数字数:%d\n其他字符:%d\n",letters,space,digit,other);
        return 0;
}
老哥我和你打的一样啊 但是为啥我一编译就出问题啊。
--------------------Configuration: 063 - Win32 Debug--------------------
Compiling...
063.c
E:\c++\Microsoft Visual Studio\MyProjects\063\063.c(11) : error C2181: illegal else without matching if
执行 cl.exe 时出错.

063.obj - 1 error(s), 0 warning(s)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-28 23:29:58 | 显示全部楼层
本帖最后由 baige 于 2020-8-28 23:32 编辑


if后面的分号去掉,while后面的分号也去掉,if/else if/else/while/for等后面都不要加分号
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-28 23:37:37 | 显示全部楼层
baige 发表于 2020-8-28 23:29
if后面的分号去掉,while后面的分号也去掉,if/else if/else/while/for等后面都不要加分号

编译完 运行 输入字符为啥有问题啊please input a string of characters:
I am a student
字母数:0
空格数:0
数字数:0
其他字符:1
Press any key to continue
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-28 23:38:14 From FishC Mobile | 显示全部楼层
百年孤独i 发表于 2020-8-28 23:37
编译完 运行 输入字符为啥有问题啊please input a string of characters:
I am a student
字母数:0


while后面的分号去掉,我刚才发现while后面有分号补在上面让你删除了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-28 23:49:56 | 显示全部楼层
baige 发表于 2020-8-28 23:38
while后面的分号去掉,我刚才发现while后面有分号补在上面让你删除了

okk
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-11 05:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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