十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
#include stdio.h
10年积累的成都网站设计、成都网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有尖草坪免费网站建设让你可以放心的选择与我们合作。
#define N 100
/*定义学生结构体*/
struct Student
{
int ID;
char Name[20];
float Mark1;
float Mark2;
float Mark3;
float Sum;
};
/*声明学生数组及学生数量*/
struct Student students[N];
//int num=0;
/*求总分*/
float Sums(struct Student stu)
{
return stu.Mark1+stu.Mark2+stu.Mark3;
}
/*输入学生信息*/
int Student_Input(){
int num=0;
while(1){
//printf("请输入学号:");
students[num].ID=num+1; //可以自行将学号改为手工输入
printf("请输入姓名:");
scanf("%s",students[num].Name);
getchar();
printf("请输入成绩1:");
scanf("%f",students[num].Mark1);
getchar();
printf("请输入成绩2:");
scanf("%f",students[num].Mark2);
printf("请输入成绩3:");
scanf("%f",students[num].Mark3);
getchar();
students[num].Sum=Sums(students[num]);
num++;
printf("是否继续?(y/n)"); //继续输入数据?
if (getchar()=='n'){
break;
}
}
return num;
}
/*输出学生信息*/
void Student_Display(int n)
{
int i;
printf("%10s%10s%8s%8s%8s%8s\n","学号","姓名","成绩","成绩","成绩","总成线");
printf("---------------------------------------------------------\n");
for (i=0;in;i++)
{
printf("%10d%10s%8.2f%8.2f%8.2f%8.2f\n",students[i].ID,students[i].Name,
students[i].Mark1,students[i].Mark2,students[i].Mark3,students[i].Sum);
}
}
/*主程序*/
int main(){
int n=0;
n=Student_Input();
Student_Display(n);
return 0;
}
C语言中调用函数的方法及步骤:
工具/原料:C语言
1、首先需要输入想要调用的函数。
2、然后当输入一个括号后,即可观察他的参数。
3、接着在对应的参数中输入参数值。
4、然后,系统会发生一个警告。
5、接着需要调用它相应的头文件。
6、最后再次编译,发现没有任何警告和错误即可。
C语言中,函数调用的一般形式为:
函数名(实际参数表)
对无参函数调用时则无实际参数表。实际参数表中的参数可以是常数、变量或其它构造类型数据及表达式。各实参之间用逗号分隔。
#includestdio.h
int fun(int x, int y); // 函数声明,如果函数写在被调用处之前,可以不用声明
void main()
{
int a=1, b=2, c;
c = fun(a, b); // 函数的调用,调用自定义函数fun,其中a,b为实际参数,传递给被调用函数的输入值
}
// 自定义函数fun
int fun(int x, int y) // 函数首部
{ // {}中的语言为函数体
return xy ? x : y; // 返回x和y中较大的一个数
}
扩展资料
C语言中不允许作嵌套的函数定义。因此各函数之间是平行的,不存在上一级函数和下一级函数的问题。但是C语言允许在一个函数的定义中出现对另一个函数的调用。
这样就出现了函数的嵌套调用。即在被调函数中又调用其它函数。这与其它语言的子程序嵌套的情形是类似的。其关系可表示如图。
图表示了两层嵌套的情形。其执行过程是:执行main函数中调用a函数的语句时,即转去执行a函数,在a函数中调用b 函数时,又转去执行b函数,b函数执行完毕返回a函数的断点继续执行,a函数执行完毕返回main函数的断点继续执行。
参考资料:函数调用_百度百科
#include stdio.h
#define N 1000
void get_score(int a[]);
void put_score(int a[]);
float average(int a[]);
void bubble_sort(int a[]);
int max_score(int a[]);
int min_score(int a[]);
int main()
{
int a[N];
get_score(a);
put_score(a);
printf("average score: %.4f\n",average(a));
bubble_sort(a);
put_score(a);
printf("max score: %d\n",max_score(a));
printf("min score: %d\n",min_score(a));
return 0;
}
void get_score(int a[])
{
int i = 0;
int x;
while (1)
{
scanf("%d",x);
a[i] = x;
if (x == -1) //输入为-1时标志输入结束
break;
i++;
}
}
void put_score(int a[])
{
int i = 0;
while (a[i] != -1)
{
printf("%3d",a[i]);
i++;
}
printf("\n");
}
float average(int a[])
{
int i = 0;
int sum = 0;
float aver;
while (a[i] != -1)
{
sum += a[i];
i++;
}
aver = (float)sum/(float)i;
return aver;
}
void bubble_sort(int a[])
{
int i, j, n, flag;
int temp;
i = 0;
while (a[i] != -1)
i++;
n = i;
flag = 1;
for (i = 0; i n-1flag == 1; i++)
{
flag = 0;
for (j = 0; j n-i; j++)
{
if (a[j] a[j+1])
{
flag = 1;
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
if (flag == 0)
return;
}
}
int max_score(int a[])
{
int max = a[0];
int i = 1;
for (; a[i] != -1; i++)
{
if (a[i] max)
max = a[i];
}
return max;
}
int min_score(int a[])
{
int min = a[0];
int i = 1;
for (; a[i] != -1; i++)
{
if (a[i] min)
min = a[i];
}
return min;
}