习题8

来源:互联网 发布:淘宝买射钉枪警察找我 编辑:程序博客网 时间:2024/06/05 21:01

8.4(这次采用两种方法基本初等数列和采用函数进行运算,增加一下难度)
方法一

#include<stdio.h>#define N 40int fail(int score[],int n);void ReadScore(int score[],int n);void main(){    int score[N],t,n;    printf("请输入任意学生人数:");    scanf("%d",&n);    ReadScore(score,n);    t=fail(score,n);    printf("不及格的学生人数=%d\n",t);}int fail(int score[],int n){    int i,temp=0;    for(i=0;i<n;i++)    {        if(score[i]<60)        temp++;    }    return temp;}void ReadScore(int score[],int n){    int i;    printf("请输入任意学生的成绩:");    for(i=0;i<n;i++)    {        scanf("%d",&score[i]);    }}

这里写图片描述
方法二

#include<stdio.h>#include <stdlib.h>#define N 40void main(){    int score[N],i,n;    int temp=0;    printf("请输入任意学生人数:");    scanf("%d",&n);    printf("输入任意学生成绩:");    for(i=0;i<n;i++)    {        scanf("%d",&score[i]);    }    for(i=0;i<n;i++)    {        if(score[i]<60)        {           temp++;        }    }    printf("不及格的人数=%d\n",temp);}

这里写图片描述
8.5

#include<stdio.h>int GetAboveAver(int score[],int sum,int n);int ReadScore(int score[]){int i=0,sum=0;do{i++;printf("Input score:");scanf("%d\n",&score[i]);sum+=score[i];}while(score[i]>=0);return (i-1);}int GetAboveAver(int score[],int sum,int n){float ave;int i,t=0;ave=sum/n;printf("Average score is %d",ave);for(i=1;i<=n;i++){if (score[i]>ave) t++;}return t;}int main(){int n,sum,score[40],*p;p=&sum;n=ReadScore(score);printf("Total students are %d\n",n);printf("Students of above average is %d",GetAboveAver(score,sum,n));return 0;}

这里写图片描述