📄 函数模块化 输入一组n个数,求最大-小值,平均值 未抄288.cpp
字号:
#include<stdio.h> /**/
/*char showMenu(); //声明显示菜单函数 */
int showMenu(); //声明显示菜单函数
int checkMenu(); //声明核对菜单函数
void max(); //声明求最大值函数
void min(); //声明求最小值函数
void avg(); //声明求平均值函数
void main() //主函数
{
printf("\n\t\t\t函数调用━━结构化编程:\n\n 一个函数实现一个功能,调用不同函数实现不同功能:\n");
int useroperate; //定义"用户操作"变量
while(1)
{
useroperate=showMenu(); //调用showMenu()函数,用户输入选项编号
/*
if(checkMenu(useroperate,1,4)) //出错??
{
*/
if(useroperate==1){max();} //调用求最大值函数
else if(useroperate==2){min();} //调用求最小值函数
else if(useroperate==3){avg();} //调用求平均值函数
else if(useroperate==4){break;} //退出循环,程序结束
/*} */
else {printf(" 请选择1~4之间的选项!\n"); continue;}
}
}
/*
void main() //主函数
{
printf("\n\t\t\t函数调用━━结构化编程:\n\n 一个函数实现一个功能,调用不同函数实现不同功能:\n");
char useroperate; //定义"用户操作"变量
while(1)
{
useroperate=showMenu(); //调用showMenu()函数,用户输入选项编号
if(useroperate=='1'){max();} //调用求最大值函数
else if(useroperate=='2'){min();} //调用求最小值函数
else if(useroperate=='3'){avg();} //调用求平均值函数
else if(useroperate=='4'){break;} //退出循环,程序结束
else {printf(" 请选择1~4之间的选项!\n"); continue;}
}
}
char showMenu() //定义显示菜单函数,返回整型值,无参数
{
char select[20]; //定义"用户选择"变量
printf("\n\t请选择下列一个选项(1~4): ");
printf("\n\t1)求最大值\t2)求最小值\t3)求平均值\t4)退出系统\n");
gets(select);
/*
while(!(select>=49&&select<=52))
{
printf(" 只能选择1~4,请重新输入!\n");
select=getchar(); //有问题?
if(select=='\n'){;}
}*/
/*
return select[0];
}*/
int showMenu() //定义显示菜单函数,返回整型值,无参数
{
int select; //定义"用户选择"变量
printf("\n\t请选择下列一个选项(1~4): ");
printf("\n\t1)求最大值\t2)求最小值\t3)求平均值\t4)退出系统\n");
scanf("%d",&select); //不能输入非数值?
while(!(select>=1&&select<=4))
{
printf(" 只能选择1~4,请重新输入!\n");
scanf("%d",&select); //不能输入非数值?
}
return select;
}
/* //多余函数???没用上?
int checkMenu(int num,int min,int max) //定义核对菜单函数,返回整型值,整型形参
{
if(num<=max && num>=min){return 1;} //如选项编号在最小编号~最大编号之间,返回真1
else {return 0;} //否则,选项编号在最小编号~最大编号之外,返回假0
} */
void max() //定义求最大值函数max()
{
printf("\t输入一组整数(n个,n取值1~100),调用函数求最大值\n\n");
while(1)
{
int i,n,a[100],*p=a;
printf(" 输入整数个数n(n<=0或n>100时结束): ");
scanf("%d",&n); //输入非数值时死循环?
if(n<=0||n>100){break;}
for(i=0;i<n;i++)
{
printf(" 输入第%d个数: ",i+1); scanf("%d",p++);
}
p=a;
int max=*p++;
for(i=1;i<n;i++,p++)
{
if(*p>max){max=*p;}
}
printf("\t这一组数的最大值=%d\n",max); //调用max()函数返回最大值,实参a,&n传递地址赋予形参
printf(" 欲继续输入吗? 是则回车,否则输入'空格'回车 ");
getchar();
if(getchar()==' '){break;}
else {while(getchar()!='\n'){;}}
printf("\n");
}
}
void min() //定义求最小值函数min()
{
printf("\t输入一组整数(n个,n取值1~100),调用函数求最小值\n\n");
while(1)
{
int i,n,a[100],*p=a;
printf(" 输入整数个数n(n<=0或n>100时结束): ");
scanf("%d",&n); //输入非数值时死循环?
if(n<=0||n>100){break;}
for(i=0;i<n;i++)
{
printf(" 输入第%d个数: ",i+1); scanf("%d",p++);
}
int min=a[0];
for(i=1;i<n;i++)
{
if(a[i]<min){min=a[i];}
}
printf("\t这一组数的最小值=%d\n",min); //调用min()函数返回最小值,实参a,&n传递地址赋予形参
printf(" 欲继续输入吗? 是则回车,否则输入'空格'回车 ");
getchar();
if(getchar()==' '){break;}
else {while(getchar()!='\n'){;}}
printf("\n");
}
}
void avg() //定义求平均值函数avg()
{
printf("\t输入一组整数(n个,n取值1~100),调用函数求平均值\n\n");
while(1)
{
int i,n,a[100],*p=a;
printf(" 输入整数个数n(n<=0或n>100时结束): ");
scanf("%d",&n); //输入非数值时死循环?
if(n<=0||n>100){break;}
for(i=0;i<n;i++)
{
printf(" 输入第%d个数: ",i+1); scanf("%d",p++);
}
p=a;
float avg=0.0;
for(i=0;i<n;i++)
{
avg+=*p++;
}
avg/=n;
printf("\t这一组数的平均值=%.4f\n",avg); //调用avg()函数返回平均值,实参a,&n传递地址赋予形参
printf(" 欲继续输入吗? 是则回车,否则输入'空格'回车 ");
getchar();
if(getchar()==' '){break;}
else {while(getchar()!='\n'){;}}
printf("\n");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -