请问下我下面的c代码哪里错了; 还有哪里不规范的地方,麻烦指出来下。

[复制链接]
查看11 | 回复4 | 2013-3-16 13:13:33 | 显示全部楼层 |阅读模式
t=q/p这句是有问题的,两个整数相除,得到的是整数,我在t=q/p后面添加了
printf("%d/%d=%f\n",q,p,t);编译后打印如第一次输出,可以看到是有问题的。如果把t=q/p改为
t=(float)q/(float)p;第二次输出打印的就是正确的。程序有故障,多打印,或者用调试器跟踪一下就明白了。F:\>test.exeplease input n:112/1=2.0000003/2=1.0000005/3=1.0000008/5=1.00000013/8=1.00000021/13=1.00000034/21=1.00000055/...
回复

使用道具 举报

千问 | 2013-3-16 13:13:33 | 显示全部楼层
#include //#include int main(){int i,n;double s=0.0,t,p=1.0,q=1.0,temp;printf("please input n:");scanf("%d",&n);for(i=1;i<=n;i++){p=p+q;
//p...
回复

使用道具 举报

千问 | 2013-3-16 13:13:33 | 显示全部楼层
int main(){int i,n;double p=1,q=1,temp; //定义成double,不然后面的除法会是整除...
回复

使用道具 举报

千问 | 2013-3-16 13:13:33 | 显示全部楼层
我这边是12啊,怎么错的......
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行