C语言指针实现计算平均分等功能
生活随笔
收集整理的這篇文章主要介紹了
C语言指针实现计算平均分等功能
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
4個學生5門課數據自己輸入,輸出第一門的平均分,并找出有兩門以上課程不及格的學生和平均成績在90分以上的或全部課程成績在85分以上的學生。程序不難,容易理解,但關鍵是思路要清楚。里面涉及大量的指針的定義使用,多敲點這樣過百行的程序為以后大程序打基礎。代碼如下:
#include<iostream> using namespace std; int main() {void avsco(float*,float*);void avcour1(char(*)[10],float*);void fail2(char course[5][10],int num[],float *psco,float aver[4]);void good(char course[5][10],int num[4],float*psco,float aver[4]);int i,j,*pnum,num[4];float score[4][5],aver[4],*pscore,*paver;char course[5][10],(*pcourse)[10];cout<<"input course:"<<endl;pcourse=course;for(i=0;i<5;i++)cin>>course[i];cout<<"input NO.and scores:"<<endl;cout<<"NO.";for(i=0;i<5;i++)cout<<","<<course[i];cout<<endl;pscore=&score[0][0];pnum=&num[0];for(i=0;i<4;i++){cin>>*(pnum+i);for(j=0;j<5;j++){cin>>*(pscore+5*i+j); }}paver=&aver[0];cout<<endl<<endl;avsco(pscore,paver);avcour1(pcourse,pscore);cout<<endl<<endl;fail2(pcourse,pnum,pscore,paver);cout<<endl<<endl;good(pcourse,pnum,pscore,paver);return 0;} void avsco(float *pscore,float *paver){int i,j;float sum,average;for(i=0;i<4;i++){sum=0.0;for(j=0;j<5;j++)sum+=(*(pscore+5*i+j));average=sum/5;*(paver+i)=average;}}void avcour1(char(*pcourse)[10],float *pscore){int i;float sum,average1;sum=0.0;for(i=0;i<4;i++)sum=sum+(*(pscore+5*i));average1=sum/4;cout<<"course1:"<<*pcourse<<"average score"<<average1<<endl;}void fail2(char course[5][10],int num[],float*pscore,float aver[4]){int i,j,k,label;cout<<"============student who failed in two couses========="<<endl;cout<<"NO. ";for(i=0;i<5;i++)cout<<course[i]<<" ";cout<<"average"<<endl;for(i=0;i<4;i++){label=0;for(j=0;j<5;j++)if(*(pscore+5*i+j)<60.0)label++;if(label>=2){cout<<num[i]<<" ";for(k=0;k<5;k++)cout<<*(pscore+5*i+k)<<" ";cout<<" "<<aver[i]<<endl;}}}void good(char course[5][10],int num[4],float *pscore,float aver[4]){int i,j,k,n;cout<<"=========students whose score is good========="<<endl;cout<<"NO. ";for(i=0;i<5;i++)cout<<course[i]<<" ";cout<<" average "<<endl;for(i=0;i<4;i++){n=0;for(j=0;j<5;j++)if(*(pscore+5*i+j)>85.0)n++;if(n==5||(aver[i]>=90)){cout<<num[i]<<" ";for(k=0;k<5;k++){cout<<*(pscore+5*i+k)<<" ";cout<<" "<<aver[i];}}}}?
總結
以上是生活随笔為你收集整理的C语言指针实现计算平均分等功能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: notepad++怎么换行命令_note
- 下一篇: c++学习笔记之类的应用