逻辑错误。
while(x>=0),输入的x为非负整数时,一直执行循环体内语句s=s+x;k++;陷入死循环。
修改:
#include
int main()
{
int k=0,x=0,s=0;//x赋初始值0
float avg=0;
//scanf("%d",&x);//去掉此句
while(x>=0)
{
scanf("%d",&x);//移动到此处
if(x>=0)//添加此条语句
{//添加大括号
s=s+x;
k++;
}//添加大括号
}
if(k>0)avg=(float)s/k;
printf("成绩之和:%d,平均分:%.2f",s,avg);
return 0;
}
//运行示例: