| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 979 人关注过本帖
标题:求助while(getchar()!='q')
只看楼主 加入收藏
crackerwang
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:833
专家分:0
注 册:2007-2-14
收藏
 问题点数:0 回复次数:2 
求助while(getchar()!='q')
//13. 编写函数,求任意阶多项式 a0+a1X+a2X2+...+anXn 的值并返回多项式的值。
#include<stdio.h>
#include<math.h>
void main()
{
double a,x,sum=0;
int i=0;
printf("input the value of 'x':\n");
scanf("%lf",&x);
while(getchar()!='q')
{
printf("input a%d:\n",i);
scanf("%lf",&a);
sum+=a*pow(x,i);
i++;
}
printf("the last value is :%lf",sum);
}
我输入的是x=1,a1=1,a2=2,a3=1;然后输入的是q调处,答案输出应该是4,但是输出的是5
调试的时候发现是因为我输入q的时候while还是循环了一次,请问大家是while本身是这样还是我写的程序不对?
搜索更多相关主题的帖子: getchar 
2007-02-22 00:36
走刀口→超
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:5018
专家分:0
注 册:2006-3-14
收藏
得分:0 
以下是引用crackerwang在2007-2-22 0:36:28的发言:
//13. 编写函数,求任意阶多项式 a0+a1X+a2X2+...+anXn 的值并返回多项式的值。
#include<stdio.h>
#include<math.h>
void main()
{
double a,x,sum=0;
int i=0;
printf("input the value of 'x':\n");
scanf("%lf",&x);
while(getchar()!='q') //这里的原因,前面有个scanf,而这边就读如的回车符,所以最后输入q的时候还循环了一次!
{
printf("input a%d:\n",i);
scanf("%lf",&a);
sum+=a*pow(x,i);
i++;
}
printf("the last value is :%lf",sum);
}
我输入的是x=1,a1=1,a2=2,a3=1;然后输入的是q调处,答案输出应该是4,但是输出的是5
调试的时候发现是因为我输入q的时候while还是循环了一次,请问大家是while本身是这样还是我写的程序不对?

[此贴子已经被作者于2007-2-22 8:59:13编辑过]


人在江湖【走】,怎能不挨【刀】;为了能活【口】,唯有把己【超】!come on...
2007-02-22 08:51
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
收藏
得分:0 
这些都是scanf()和getchar()的特性引起

谁有强殖装甲第二部,可以Q我460054868
2007-02-22 09:59
快速回复:求助while(getchar()!='q')
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015471 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved