零基础beginner来问一个低级问题,为什么scanf("%d",&x);改成scanf("%d\n",&x);之后,这个程序在输入n和n个数后回车,没有结果输出呀……
#include
using namespace std;
int main()
{
int x,n,sum=0;
double a;
cin>>n;
for(int i=1;i<=n;i++)
{
scanf("%d",&x);
sum+=x;
}
a=sum/(double)n;
cout<return 0;
}
所以scanf中不要乱加东西。你加了\n,意味着一必然多输入一个换行符去匹配。最后你要输入n个数,就必须多输入n个空行。而且是要输入一个数,带一个空行才行
scanf里面的是格式化字符串,也就是说你的输入必须满足这个格式,否则会被过滤掉
你加了额外的换行,那么输入每个数据后面也必须输入一个额外的换行
格式化字符串不要乱改