新手求组一道C语言的题,弄了好久都没对,望高手能给点提示,谢谢

一梦何年 2011-05-19 06:03:19
题目如下:

编写有两个参数的函数multiple,该函数确定一对整数中的第二个整数是否是第一个整数的整数倍,如果是则返回1,否则返回0。将该函数用在程序中,对输入的一系列整数对进行判断。

我写的代码如下:


#include <stdio.h>
int multiple(int x, int y) {
if(y % x ==0)
return (1);
else
return (0);
}

int main() {
int x, y, flag = 1;
char c;
while(flag) {
printf("input first integer:\n");
scanf("%d",&x);
if(x==0) {
printf("x can't equal 0\n");
continue;
}
printf("input second integer:\n");
scanf("%d",&y);
printf("%d\n",multiple(x,y));
printf("do again press any key, exit press 'q'\n");
c=getchar();
if(c=='q'||c=='Q') {
flag = 0;
break;
}
}
}

本意是,比较完两个数后
会提示是否要继续输入比较,是的话,按任意键继续,否的话按q退出。
可是程序运行时,比较完两个数后,会显示
do again press any key, exit press
input first integer:

望高手指点一下,问题出在哪啊,思考了好久,不得其解
万分感谢
...全文
100 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
一梦何年 2011-05-19
  • 打赏
  • 举报
回复
谢谢各位的回答,关于fflush(stdin);
我找资料学一下。
mouse_xie 2011-05-19
  • 打赏
  • 举报
回复
你们老师说你用的不对你抽他!
[Quote=引用 4 楼 wudongjay 的回复:]
引用 2 楼 q191201771 的回复:

c=getchar();前加上fflush(stdin)


可是我们现在还没学到使用fflush(stdin)啊
请问还有其他办法吗?
[/Quote]
一梦何年 2011-05-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 q191201771 的回复:]

c=getchar();前加上fflush(stdin)
[/Quote]

可是我们现在还没学到使用fflush(stdin)啊
请问还有其他办法吗?
KID_coder 2011-05-19
  • 打赏
  • 举报
回复
清除缓冲
fflush(stdin);
就想叫yoko 2011-05-19
  • 打赏
  • 举报
回复
c=getchar();前加上fflush(stdin)
mouse_xie 2011-05-19
  • 打赏
  • 举报
回复
输入数据时有'\n'的,fflush(stdin);

33,321

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧