自定义函数练习~学生信息管理程序

来源:互联网 发布:vb取整函数函数 编辑:程序博客网 时间:2024/06/08 15:13

练习了一个学生信息关系的小程序:
涉及的功能有:
1:录入成绩
2:对成绩进行排序
3:打印出成绩
4:查找某一成绩

排序的关键点:冒泡排序,外循环每次是循环次数减去1
内循环是内循环减去外循环次数减去1 ,原理可回顾之前的blog

查找的关键点:找到数组元素的下标,返回给一个索引

自定义函数的好处是:main函数调用打印函数,代码重用很方便

函数三要素的书写

如何量数组元素的大小,数组的总内存除以数组首元素的大小

#include <stdio.h>#include <stdlib.h>#define N 5   //1:录入   //2:排序   //3:按照某种格式打印  把数组的地址传给了函数.void input(double[]);//录入函数void sort(double[]);void show(double[]);//函数的定义//向传入的数组中查找num,如果存在,返回下标,不存在,返回-1int find(double*,int findNum);int main(){  //量数组大小  double test[]={1,2,3,4,5,6,4}  printf("test数组的元素的个数是:%d\n",sizeof(test)/sizeof(test[0]));//量数组元素的个数  double scores[N];  double findNum;//要查找的数字  //1.录入   input(scores);   printf("排序前: \n");   show(scores);   //2:排序   sort(scores);   //3:排序后   printf("排序后: \n");   show(scores);   printf("请输入要查找的数字: ");   scanf("%lf",&findNum);   printf("查找的数字下标为: %d\n",find(scores,findNum));   return 0;}int find(double *scores,int findNum){   int findIndex=-1;//要查找的下标   int i;   for(i=0;i<N;i++)   {       if (findNum==scores[i])//if(findNum=*(scores+i)       {           //记录下要查找的下标,结束查找动作           findIndex=i;           break;       }   }   return  findIndex;}void input(double scores[]){    int i;    for(i=0;i<N;i++)    {        printf("请输入第%d门成绩: ",i+1);        scanf("%lf",&scores[i]);        //scanf("%lf",(scores+i));    }}void show(double scores[]){   int i;printf("***************************\n");printf ("语文\t数学\t英语\t化学\t物理\n");for(i=0;i<N;i++){   printf("%.2lf\t",*(scores+i) );//scores[i]}printf("***************************\n");} void sort(double scores[]) {     int i,j;     double temp;     for(i=0;i<N-1;i++)     {         for(j=0;j<N-i-1;j++)            if(scores[j]>scores[j+1])         {              temp = scores[j];                scores[j] = scores[j + 1];                scores[j + 1] = temp;         }     } }
0 0
原创粉丝点击