c语言编程 一维数组和函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言编程 一维数组和函数相关的知识,希望对你有一定的参考价值。

任务说明:
从键盘输入一个班(全班最多不超过30人)学生的学号和某门课的成绩,当输入成绩为负值或人数超过30时,输入结束。编程统计不及格人数并打印不及格学生名单;编程统计成绩在全班平均分及平均分之上的学生人数,并打印这些学生的名单。要求:
输入的学生学号及分数请在Input()函数实现;
统计不及格人数及打印不及格学生名单请在Total1()函数实现;
统计成绩在全班平均分及平均分之上的学生人数及打印这些学生的名单请在Total2()函数实现;
Input函数原型如下:
int Input(long num[], float score[]);

参数说明:数组 num 存放学生的学号,数组 score 存放学生的分数
返回值:返回班级的实际人数

5. Total1函数原型如下:

void Total1(long num[], float score[], int n);

参数说明:数组 num 存放学生的学号,数组 score 存放学生的分数,n 班级实际人数
返回值:无

6. Total2函数原型如下:

void Total2(long num[],float score[],int n);

参数说明:数组 num 存放学生的学号,数组 score 存放学生的分数,n 班级实际人数
输入要求:详见输入样例
输出要求:详见输出样例
输入输出样例:
Input sample:

19001 78
19002 86
19003 65
19004 56
19005 98
19006 78
19007 90
19008 -1
Output sample:
19004
The score<60 is:1
19002
19005
19007
The score>=averge is:3

参考技术A #include<stdio.h>

int Input(long num[], float score[]);
void Total1(long num[], float score[], int n);
void Total2(long num[],float score[],int n);

int main()
long num[30];
float score[30];
int n;
n=Input(num, score);
Total1(num, score,n);
Total2(num, score,n);
return 0;

int Input(long num[], float score[])
int i=0;
while(i<30)
scanf("%ld%f",&num[i],&score[i]);
if(score[i]<0)
break;
i++;

return i;


void Total1(long num[], float score[], int n)
int i,c=0;
for(i=0; i<n; i++)
if(score[i]<60)
c++;
printf("%ld\n",num[i]);


printf("The score<60 is:%d\n",c);


void Total2(long num[],float score[],int n)
int i,c=0;
float a=0;
for(i=0; i<n; i++)
a+=score[i];
a/=n;
for(i=0; i<n; i++)
if(score[i]>=a)
c++;
printf("%ld\n",num[i]);


printf("The score>=averge is:%d\n",c);
本回答被提问者和网友采纳

C语言【函数 数组 指针】利用指针求一维数组的数据元素之和

题目描述

输入一组数据,存到数组中,求数组之和并输出结果

要求:设计一个输入数据的函数 void inputarray(int * a,int *n) //a是指向数组的指针,n用于返回实际输入数据个数

设计一个求和的函数 void sumarray(int *a,int n,int *r) //a是指向数组的指针,r用户返回结果

输入

一行数据以-1 最为结束标志

输出

和的结果

样例输入

1 2 3 4 5 6 -1
样例输出

21
提示

带填充标签的C/C++原程序

#include"stdio.h"
void inputarray(int * a,int *n);
void sumarray(int *a,int n,int *r);

main()

int b[200];
@@1

@@1


@@2

@@2

void sumarray(int *a,int n,int *r)

int *p,s=0;
for(p=a; @#1 ;p++)
s=s+ @#2
@#3

参考技术A #include<stdio.h>
int main()

    int array[10];
    int i, *p;
    for(p=array, i=0; i<10; i++)
        scanf("%d", p+i);
    for(p=array, i=0; i<10; i++)
        printf("%d ", *(p+i));
    return 0;

追问

用带填充的原程序填空

本回答被提问者和网友采纳

以上是关于c语言编程 一维数组和函数的主要内容,如果未能解决你的问题,请参考以下文章

C语言一维数组排序

c语言题目,输入n个数到一维数组a中,求均方差。

用C语言如何将一个一维数组中的元素随机排序

C语言编写一个排序函数(对一维数组排序)并在主函数中调用

C 语言数组 ( 一维数组形参退化 | 二维数组形参退化 | 函数形参等价关系 )

C语言中怎样定义动态一维数组