教你如何写出指针版判断学生成绩的c程序
来源:网络收集 点击: 时间:2024-03-06打开啊哈c编译器

int scores;
int len;
int max;
int min;
int total;
float average;
int *p;
p = scores;

len = sizeof(scores)/sizeof(scores);
initscores(scores,len);
printscores(scores,len);
max = getmax(scores,len);
min = getmin(scores,len);
total = gettotal(scores,len);
average = getaverage(scores,len);
printfret(max,min,total,average);

void initscores(int *datas,int size)
{
int i;
for(i=0;isize;i++){
printf(请输入第%d个学生的分数:,i+1);
scanf(%d, datas);
if(*datas100 ||*datas0){
printf(*****你牛逼,哪里有这种奇怪的分数*****\n);
printf(**强制退出该程序,我的程序不给你用了**\n);
system(pause);
exit(-1);
}
datas++;
}
}

void printscores(int *datas,int size)
{
int i;
for(i=0;isize;i++){
printf(第%d个学生的成绩是:%d\n,i+1,*datas++);
}
}
int getmax(int *datas,int size)
{
int i;
int max;
max = *datas;
for(i=0;isize;i++){
if(max *datas){
max = *datas;
}
datas++;
}
return max;
}

int getmin(int *datas,int size)
{
int i;
int min;
min = datas;
for(i=0;isize;i++){
if(min *datas){
min = *datas;
}
datas++;
}
return min;
}
float gettotal(int *scores,int size)
{
int i;
int total=0;
for(i=0;isize;i++){
total += *scores;
}scores++;
return total;
}

float getaverage(int *scores,int size)
{
int i;
int total=0;
for(i=0;isize;i++){
total += *scores;
}
scores++;
float average;
average = (float)total/10;
return average;
}
void printfret(int data1,int data2,int data3,float data4)
{
printf(最高分:%d\n 最低分:%d\n 总分:%d\n 平均分:%f\n,data1,data2,data3,data4);
}

运行程序

运行程序时,输入的成绩大于100时

如果知道内存空间的名字,可通过名字访问该空间,称为直接访问。由于变量即代表有名字的内存单元,故通。过变量名操作变量,也就是通过名字直接访问该变量对应的内存单元。
本程序采用哈啊c编写,由于软件本身有bug,在重新编译运行时,要先把之前的运行窗口先关掉,不然会报错。
在 C 语言中,可以使用间接访问符(取内容访问符)*来访问指针所指向的空间。
版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_262391.html