首页 > 编程语言 >C语言程序设计 第七章 指针与结构体 指针数组 例题

C语言程序设计 第七章 指针与结构体 指针数组 例题

时间:2023-11-08 11:03:07浏览次数:41  
标签:include name int struct C语言 score student 例题 指针

/* ---------------------------------------

   例7.19

   输入N个学生学号,姓名,成绩,并按成绩降序排列,并输出

   p指向结构体变量s1 , 则  s1.成员名,(*p).成员名,p->成员名 等价。

   本题采用自定义函数较为合适

  Author: emanlee  

  Date: 2008-05-12

  --------------------------------------- */ 

#include "stdio.h"

#include "conio.h"

#include "math.h"

#include <string.h>

#define N 2


struct student

{

   int num;

   char name[12];

   int score;

};



main( )

{

   struct student s[N];

   struct student *p,*q[N];

   int i,j,k;

   printf (" Input %d student's num  name  score\n",N);

   p=s; 

   for (i=0;i<N;i++) /* 输入 */

   {

       scanf("%d%s%d",&p->num,p->name,&p->score);

       q[i]=p++; 

   }

   for (i=0;i<N-1;i++)   /*选择排序*/

   {

       k=i;

       for (j=i+1;j<N;j++)

          if (q[k]->score<q[j]->score)

             k=j;

       if (k!=i)

       {

          p=q[i];

          q[i]=q[k];

          q[k]=p;

       }

   }

   printf("Number  Name       Score\n");    /*输出 */

   for (i=0; i<N; i++)

      printf("%-8d%-12s%-d\n",q[i]->num,q[i]->name,q[i]->score);

   getchar();     getchar();

} 

 /* --------------------------------------*/

标签:include,name,int,struct,C语言,score,student,例题,指针
From: https://blog.51cto.com/emanlee/8246659

相关文章

  • C语言程序设计 练习题参考答案 第七章 (2) 指针与数组 main函数形参
    /*7.16实现测试字符串长度函数strlen()*/#include"stdio.h"intstrlen(char*p);voidmain(){chars1[20]="s1s2s3s4";char*p=s1;printf("s1的长度:%d\n",strlen(s1));printf("s1的长度:%d\n",strlen(p));......
  • C语言程序设计 ASCII美国标准信息交换标准码 简介
    美国标准信息交换标准码(AmericanStandardCodeforInformationInterchange,ASCII)      在计算机中,所有的数据在存储和运算时都要使用二进制数表示(因为计算机比较傻,只有0和1两位数的二进制比较适合于它使用),同样的,象a、b、c、d这样的52个字母(包括大写)、以及0、1、2......
  • C语言程序设计 运算符的优先级与结合性
     C运算符的优先级与结合优先级运算符含义参与运算对象的数目结合方向 1()[]->.圆括号运算符下标运算符指向结构体成员运算符结构体成员运算符双目运算符双目运算符双目运算符自左至右2!~+......
  • C语言程序设计 文件操作函数
    文件操作函数C语言(FILEfputcfgetcfputsfgetsfscanffprintf)在ANSIC中,对文件的操作分为两种方式,即流式文件操作和I/O文件操作,下面就分别介绍之。一、流式文件操作这种方式的文件操作有一个重要的结构FILE,FILE在stdio.h中定义如下:typedefstruct{intlevel;/*fill/empt......
  • C语言程序设计 练习题参考答案 第八章 文件(1)
    /*8.5从键盘输入一行字符,将其中小写字母转换为大写字母*/#include"stdio.h"voidmain(){FILE*fp;charch;if((fp=fopen("c:\\ex85.txt","w"))==NULL){printf("不能创建文件c:\\ex85.txt");exit(1);......
  • C语言程序设计 练习题参考答案 第八章 文件(2)
    /*8.8从文件ex88_1.txt中取出成绩,排序后,按降序存放EX88_2.TXT中*/#include"stdio.h"#defineN10structstudent{intnum;charname[20];intscore[3];/*不能使用float*/floataverage;};voidsort(structstudentstu[]);voidprint(FILE*fp,......
  • C语言程序设计 笔试考试,试题样卷
    2008C语言笔试考试,试题样卷http://202.200.112.204/jingpin_c/XiTiKu/BiShiYangJuan.htm注:(1)其中参考答案不一定正确(部分从网上或习题书上搜集的)。(2)出题教师可能会参考此题库,但不限于此题库。......
  • C语言程序设计 回答同学提出的几个疑问 2008
    1,例4.11中的K=1时什麽意思?K用来表示是否是空格字符(注:不是空字符,而是空格字符)0表示空格字符1表示非空格字符  2,例3.17看不懂呀?这一题不难。如果看不懂需要加把劲了。=12时就是按第三个式子算得呀。是有逻辑错误的。1<=x<10就有明显的错误,因为这是数学中的写法,不是C语言中的写法。......
  • 2008秋-计算机软件基础-结构体与指针复习
    //结构体与指针#include<string.h>#include<stdio.h>structstudent{intnumber;charname[10];};voidmain(){structstudenta;structstudent*ptr=&a;a.number=10;//ptr->number=10;strcpy(a.name,"li");//strcpy(ptr->......
  • C语言变量分类
    按照变量的定义位置分类,在函数外部定义的变量为全局变量或者外部变量;在函数内部定义的变量为局部变量。在不加修饰\(^*\)的情况下,全局变量的作用域是定义以下的整个文件,局部变量的定义域是定义以下的所在函数体。在函数内访问变量时,优先查找局部变量,所以如果局部变量与全局变......