编程题,C++, 读入1 个正整数n(n<=10),再读入n个整数, 计算平均值!还有写不下了!求热心高手啊!

编程题,不要输出与结果无关的字符。
读入1 个正整数n(n<=10),再读入n个整数, 计算平均值(取整),然后在这n个数中找出与平均值之差的平方和最小的数(设惟一)。
例:括号内是说明
输入:
4 (n=4)
-10 2 -5 0
输出:
-5 (平均值是-3,与平均值之差的平方和是49 25 4 9,最小平方和是4,对应的数是-5)
求热心人士!

第1个回答  2011-12-06
格式字符串的一般形式为:
%[*][输入数据宽度][长度]类型
其中有方括号[]的项为任选项

“*”符:用以表示该输入项,读入后不赋予相应的变量,即跳过该输入值。
如:
scanf("%d %*d %d",&a,&b);
当输入为:1 2 3时,把1赋予a,2被跳过,3赋予b。

%*c作用时读取输入流中数字后的一个字符,并丢弃,使得后面的输入函数不能读到那个字符

跳过一个字符

举个例子

C/C++ code
#include "stdio.h"int main(){ int a, b; scanf("%d%*c%d", &a, &b); printf("%d %d\n", a, b); return 0;}你输入1n2,那么scanf把1读取赋给变量a,如果跳过一个char(这里是 ‘n’)接着读取2赋给变量b
第2个回答  2011-12-05
#include"iostream.h"
void main()
{
int n,i,sum=0,min,t;
int a[10];
cin>>n;
for (i=0;i<n;i++)
{
cin>>a[i];
sum+=a[i];
}
sum=sum/n;
min=100000;
for (i=0;i<n;i++)
if (min>(sum-a[i])*(sum-a[i]))
{
min=(sum-a[i])*(sum-a[i]);
t=a[i];
}
cout<<t<<endl;

}追问

这么高端 还多 都还没学到啊 我是大一新生 能不能 用简单点的语句?开头都没见过我们都还在stdio.h的基础上

追答

我晕~你不是说是C++吗?stdio是C……
#include"stdio.h"
void main()
{
int n,i,sum=0,min,t;
int a[10];
for (i=0;i(sum-a[i])*(sum-a[i]))
{
min=(sum-a[i])*(sum-a[i]);
t=a[i];
}
printf("%d\n",t);

}

追问

不对啊 你编译下 不对!

追答

ude"stdio.h"
void main()
{
int n,i,sum=0,min,t;
int a[10];
scanf("%d",&n);
for (i=0;i(sum-a[i])*(sum-a[i]))
{
min=(sum-a[i])*(sum-a[i]);
t=a[i];
}
printf("%d\n",t);

}

本回答被提问者采纳