c语言,呀,我的思路可能都错了

#include<stdio.h>main(){inti,a;printf("请输入一个整数:\n");scanf("%d",&i);while(scanf("%d",&... #include<stdio.h>
main()
{
int i,a;
printf("请输入一个整数:\n");
scanf("%d",&i);
while(scanf("%d",&i)!=1)
{
for(a=1;a*a<i;)
{
a++;
}
if(a*a==i)
printf("%d",a);
else
break;
}
}
这是我仿照sqrt(),想输出某个数的开根号。
但是,好叭,可能一开始我的思路就错了吧。
看看我上面的那个程序,有没有很多很严重的错误。如果只是一小部分的错误,方便的话,就跟和我说一下,我只是想知道自己错了什么地方,不需要什么正确答案,因为我也有。谢谢啦!
展开
 我来答
拥抱Linux
2019-03-22 · 知道合伙人教育行家
拥抱Linux
知道合伙人教育行家
采纳数:418 获赞数:2160
大学的校级奖学金,机械行业十年工作经验

向TA提问 私信TA
展开全部

(1)第一个scanf语句,是多余的。

(2)while里面的判断条件应该是 「scanf()==1 」,意思是 如果输入的是一个整数的话才进入循环。而你写的是 「 != 」,那就变成了有错误的输入值的情况下才进入循环,就完全反了呀!

(3)定义的都是整型,只能对于整数做开方。比如 4 、9、16、25、36等等。

如有帮助,烦请点采纳,谢谢!

追问
好哒,谢谢
最大的宝宝
2019-03-22 · TA获得超过828个赞
知道小有建树答主
回答量:1569
采纳率:67%
帮助的人:399万
展开全部
好吧,我们就来做这个游戏。while里面的scanf是多余的,直接写while(true)就可以了,好了,现在你已经完成了有整数方根的开方程序。给你一个勾,一朵小红花🌸
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
足迹收藏家
2019-03-22 · 超过57用户采纳过TA的回答
知道小有建树答主
回答量:314
采纳率:23%
帮助的人:51.9万
展开全部
? 国外评价6 版本系统
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式