分类：电脑/网络-软件
问题：C语言#include&lt;stdio.h&gt;#inclu 
#include <std.h>#include <math.h>#define M 1000main(){int i,k;printf("please put in a number < %d:",M);scanf("%d",&i);while (i>M){printf("please put in a number < %d:",M);scanf("%d",&i);k=sqrt(i);}printf("平方根的整数部分%d\n",k);return 0#include <std.h>#include <math.h>#define M 1000main(){int i,k;printf("please put in a number < %d:",M);scanf("%d",&i);while (i>M){printf("please put in a number < %d:",M);scanf("%d",&i);k=sqrt(i);}printf("平方根的整数部分%d\n",k);return 0;}为什么输出的结果会是负数?
回答：你这程序根本答不到你想要的效果，我可以给你改改。
#include <stdio.h> 
#include <math.h> 
#define M 1000 
main() 
{
  int i,k=0; 
  printf("please put in a number < %d:",M); 
  scanf("%d",&i); 
  while (true) 
  {
    if (i<M)
    {
      k=sqrt(i); 
      break;
    }
    else
    {
      printf("please put in a number < %d:",M); 
      scanf("%d",&i);
      continue;
    }
  } 
  printf("平方根的整数部分%d\n",k); 
  return 0;
}