#include//加载控制台头文件
using namespace std; //开放std命名空间
int main() //主函数
{int i,j,k, //代表百十个位
s,c,a, //s是和,c是个数,a是生成的三位数
n; //n是这个数
double v; //平均数
do{printf("请输入n:"); //提示输入n
scanf("%d",&n); //输入n
if(n>=0&&n<7) break; //如果n在0-6之间完成输入退出循环
printf("输入错误,请重输");}while(1); //否则要求重输入
s=c=0;v=0; //初始化和,个数,平均值三个变量
for(i=n;i<=n+3;i++) //用一个三重循环确定百十个位
for(j=n;j<=n+3;j++)
for(k=n;k<=n+3;k++)
if(i!=j&&i!=k&&j!=k&&i!=0) //如果ijk互不相等且首位不等于0
{a=i*100+10*j+k; //生成这个三位数
printf("%d ",a); //题目没要求,但为了好验证把生成的三位数一并显示出来
s+=a; //把这个三位数累加起来
c++;} //计算器+1
v=s/c; //求出平均值
printf("\n%d-%d之间所有不重复的3位数共有%d个,累计和是%d,平均是%0.2lf",n,n+3,c,s,v);
//题目只要求输出平均数,这里只是为了查看方便,交作业时请自己去除
system("PAUSE"); //屏幕暂停,以看清运行结果
return 0;} //程序结束
。