用VS2010写C程序,怎么把浮点型数据赋值给整型变量
比如程序:#include<stdio.h>#include<math.h>voidmain(){inti,m,k;scanf("%d",m);k=sqrt(m);for...
比如程序:#include<stdio.h>
#include<math.h>
void main()
{
int i,m,k;
scanf("%d",m);
k=sqrt(m);
for(i=2;i<=20;i++)
if(m%i==0)break;
if(i>k) printf("%d是素数\n",m);
else printf("%d不是素数\n",m);
}
调试信息如图片所示,强制数据类型转换也不行,比如 k=(int)sqrt(m),也一样报错误,为什么会这样,怎么解决,别劝我换turbo3.0,系统win7 装不了turbo 3.0. 展开
#include<math.h>
void main()
{
int i,m,k;
scanf("%d",m);
k=sqrt(m);
for(i=2;i<=20;i++)
if(m%i==0)break;
if(i>k) printf("%d是素数\n",m);
else printf("%d不是素数\n",m);
}
调试信息如图片所示,强制数据类型转换也不行,比如 k=(int)sqrt(m),也一样报错误,为什么会这样,怎么解决,别劝我换turbo3.0,系统win7 装不了turbo 3.0. 展开
5个回答
2011-10-15
展开全部
你把k定义成浮点数,再强转k;
类型强制转换 比如 float a = 12.536; int b = (int)a;这样就把浮点数转换成了整型。
类型强制转换 比如 float a = 12.536; int b = (int)a;这样就把浮点数转换成了整型。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你怎么不用VC6.0的C语言编程软件呢?我也是WIN7的啊,VC6.0装上了。
等一下我到VS里面把你这个程序试下
等一下我到VS里面把你这个程序试下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
问题不是出在类型上,
scanf("%d",m);你仔细核查此语句,看看有什么不妥的。报错应该也是这句。
scanf("%d",m);你仔细核查此语句,看看有什么不妥的。报错应该也是这句。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
悲剧的我看不到你的大图~~~~~~~~
你要不把m定义成浮点数
你要不把m定义成浮点数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
sqrt(double(m))
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询