精华内容
下载资源
问答
  • C语言结构体输入学生基本信息

    万次阅读 多人点赞 2019-03-21 22:57:34
    为了描述不同属性的集合的结构,又不破坏集合之间的个属性之间的关系,需要构造新的数据类型; 直接上代码,没必要那么多口水话;输入学生的信息,计算总分以及平均分后输出 #Include<stdio.h> #define N 100 ...

    为了描述不同属性的集合的结构,又不破坏集合之间的个属性之间的关系,需要构造新的数据类型;
    直接上代码,没必要那么多口水话;输入学生的信息,计算总分以及平均分后输出

    #include<stdio.h>
    #include<string.h>
    #define N 100
    struct student
    {
     int sno;
     char name[20];
     char sex[4];
     int age;
     int score[3];
     int sum;
     float average;
    };
    void count(struct student *,int  );
    void count(struct student *st,int num )
    {
     int i; 
     for(i=0;i<num;i++)
     {
      st[i].sum=st[i].score[0]+st[i].score[1]+st[i].score[2];
      st[i].average=st[i].score[0]+st[i].score[1]+st[i].score[2]/3.0;
     }
     //打印
     printf("\n\t学号\t   姓名  \t性别\t语文\t英语\t高数\t总分\t平均分\n");
     for(i=0;i<num;i++)
     {
      printf("\t%d %s        %s\t%d\t%d\t%d\t%d\t%f\n",st[i].sno,st[i].name,st[i].sex,st[i].score[0],st[i].score[1],st[i].score[2],st[i].sum,st[i].average);
      } 
     return;
    }
    int main()
    {
     int i;
     struct student st[N];
     int num1;//需要输入的学生人数
     printf("请输入录入人数:\n");
     scanf("%d",&num1);
     if(N<num1)
     {
      num1=N;
      printf("最大人数为N=100!\n");
      } 
     for(i=0;i<num1;i++)
     {
      printf("姓名:");scanf("%s",st[i].name);
      printf("学号:");scanf("%d",&st[i].sno);getchar();
      printf("性别:");scanf("%s",&st[i].sex);
      printf("语文成绩:");scanf("%3d",&st[i].score[0]);
      printf("英语四级成绩:");scanf("%3d",&st[i].score[1]);
      printf("高数成绩:");scanf("%3d",&st[i].score[2]);
     }
     count(st,num1);
     return 0;
    }
    展开全文
  • C语言程序设计结构体 C语焉不详引例【案例】设计一个程序输入学生的信息,包括学号,姓名,性别,年龄,分数。分析:每个学生的信息,都包含了 结构体学号、姓名、性别、年龄、分数五个变量。一、结构体的定义...

    C语言程序设计

    结构体 C语焉不详

    引例

    【案例】设计一个程序输入学生的信息,包括

    学号,姓名,性别,年龄,分数。

    分析:

    每个学生的信息,都包含了 结构体

    学号、姓名、性别、年龄、

    分数五个变量。

    一、结构体的定义

    “结构体”是一种构造类型,它由若干“成员”组成。每

    一个成员可以是一个基本数据类型或者又是一个构造

    类型。结构体既然是一种“构造”而成的数据类型,那

    么在使用之前必须先定义它,也就是构造它。

    一、结构体的定义

    struct

    (一)用 定义结构体类型

    struct [结构体名]

    {

    1 1

    类型标识符 成员名 ;

    2 2

    类型标识符 成员名 ;

    … …

    n n

    类型标识符 成员名 ;

    };

    一、结构体的定义

    定义一个学生结构体:

    struct student

    {char num[10];

    char name[20];

    char sex;

    int age;

    float score; };

    一、结构体的定义

    说明 4

    1

    注意末尾的“;”号

    3 必不可少。

    struct是关键字,

    在定义和使用中都 成员名可以与程序

    不能省略。 2

    中的变量名同名,

    二者不代表同一对

    结构体中的每个成员均

    象,互不干扰。

    须作类型说明,结构体

    类型名和成员名的命名

    应符合标识符的命名规

    则。

    一、结构体的定义

    (二)用typedef定义结构体类型

    typedef struct [结构体名] 用struct定义结构体类型

    { struct [结构体名]

    1 1 {

    类型标识符 成员名 ;

    展开全文
  • 使用结构体 //C语言结构体(Struct)从本质上讲是一种自定义的数据类型,只不过这种数据类型比较复杂,是由 int、char、float 等基本类型组成的 可以认为结构体是一种聚合类型 撸写代码 #include<stdio.h&g...

    题目要求

    小能养了2只猫,一只叫小虎,今年3岁,黄色,一个叫二狗,今年5岁,白色   编写程序,输入小猫名字,就能显示小猫的年龄和颜色,如果小猫的名字错误,就显示小能没有这只小猫

     思路分析

    • 小猫有3个成员变量组成 //名字,年龄,颜色
    • 使用结构体 //C语言结构体(Struct)从本质上讲是一种自定义的数据类型,只不过这种数据类型比较复杂,是由 int、char、float 等基本类型组成的     可以认为结构体是一种聚合类型

     撸写代码

    #include<stdio.h>
    #include<string.h>
    int main()
    {
    	struct Cat //结构体名词cat,cat就是我们自己构造的一个数据类型 
    	{
    		char *name; //名字  使用指针,指向一个字符串 
    		int age;   //年龄 
    		char *color;  //颜色 
    	};
    	
    	//使用Cat结构体,创建变量
    	struct Cat cat1; //cat1是struct Cat的一个变量
    	struct Cat cat2; //cat2是struct Cat的一个变量
    	
    	//给cat1中的成员赋值
    	cat1.name = "小虎";
    	cat1.age = 3;
    	cat1.color = "黄色";
    	
    	//给cat2中的成员赋值
    	cat2.name = "二狗"; 
    	cat2.age = 5;
    	cat2.color = "白色";	 
    	
    	char name[10]="";
    	printf("请输入小猫的名字:");
    	scanf("%s",name);
    	if(strcmp("小虎",name)==0)
    	{
    		//输出猫的信息
    		printf("\n第1只猫的名字=%s,年龄=%d,颜色=%s",cat1.name,cat1.age,cat1.color);
    	}
    	else if(strcmp("二狗",name)==0)
    	{ 
    		printf("\n第2只猫的名字=%s,年龄=%d,颜色=%s",cat2.name,cat2.age,cat2.color);
    	}
    	else
    	{
    		printf("小能没有这只小猫!"); 
    	} 
    	return 0;
     } 

    测试结果 

     

    展开全文
  • 学生数组里面的学生数据信息自己填写,数组长度自定义,不存在重名学生,学生信息结构体如下: <code>typedef struct student { char name[20]; int score; } STU;</code></pre> 将...
  • 结构体数据输入输出 例9.1 结构体数据输入输出 #include stdio.h main) { struct { int i; char ch1; char ch2; }tr; scanf%d%c%c&tr.i, &tr.ch1, &tr.ch2; printf(i=%d,ch1=%d,ch2=%d\n,tr.i,tr
  • C语言结构体的操作

    2020-12-16 16:36:28
    C语言对于结构体的赋值 输出操作 有个同学让我帮忙做一下他的C语言作业,...⑴ 从键盘输入N个学生的数据; ⑵ 求出每门课的平均成绩; ⑶ 求出每个学生的平均成绩; ⑷ 查找指定学号的成绩信息,有则输出成绩等信息,无

    C语言对于结构体的赋值 输出操作

    有个同学让我帮忙做一下他的C语言作业,是用结构体来管理学生成绩,在前面也写过一个学生管理系统,比较系统(点我跳至),相比于来说这是很简单一个项目,但是以前都是听说结构体,没有实际应用过,下午便边学边写试了一下,也不亏一个多小时的百度,最后还是写出来了了

    1. 先看一下题目要求
      有N个学生,每个学生的数据包括学号、姓名、M门课的成绩,要求:
      ⑴ 从键盘输入N个学生的数据;
      ⑵ 求出每门课的平均成绩;
      ⑶ 求出每个学生的平均成绩;
      ⑷ 查找指定学号的成绩信息,有则输出成绩等信息,无则输出“查无此人”。
      运行结果示例:在这里插入图片描述
    2. 按照题目要求还是写出来了,可能不是很完美,但实现了基本功能,粘代码
    #include "iostream.h"
    #include "string.h"
    #include "stdio.h"
    
    #define N 4//这个应该是学生人数
    #define M 5//这个应该是课程数量
    
    int i,j;//定义循环变量
    int Average_score=0;//定义平均成绩
    char Query[1][12];//定义查询中间变量
    
    
    
    struct student
    {
     char num[12];
     char name[20];
     int score[M];
    };
    
    void input(struct student stu[])//学生信息输入
    {
    	printf("请输入学生情况:\n");
    	printf("学号\t姓名\t课1\t课2\t课3\t课4\t课5\t\n");
    	for(i=0;i<4;++i)//四名同学 循环四次
    	{
    		scanf("%s%s%d%d%d%d%d",&stu[i].num,&stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2],&stu[i].score[3],&stu[i].score[4]);//结构体输入语句
    	}
    }
    
    void danke(struct student *p)
    {
    	printf("\n");
    	printf("输出单科结果:\n");
    	for(j=0;j<5;j++)//有5科 循环五次
    	{
    		Average_score = 0;//每次循环前必须置0 否则计算出错
    		for(i=0;i<4;i++)//有四名同学求这四名同学平均成绩得一个个取
    		{
    			Average_score = Average_score + p[i].score[j];//将取得的数与上一个取得的数相加
    		}
    		printf("课程%d平均分:%d\n",j+1,Average_score/5);//将四名同学的成绩之和除以5得平均成绩
    	}
    	printf("\n");
    }
    
    void everyone(struct student *p)
    {
    	printf("输出学生结果:\n");
    	for(i=0;i<4;i++)//有四名同学 循环四次
    	{
    		Average_score = 0;//此处对平均值赋值并无实际作用 为了增强代码美观性
    		Average_score = (p[i].score[0] + p[i].score[1] + p[i].score[2] + p[i].score[3] + p[i].score[4])/5;//将一名学生的成绩累加且除以5 得出平均成绩
    		printf("学生%s的平均分:%d\n",p[i].name,Average_score);//输出该生平均成绩
    	}
    	printf("\n");
    
    }
    
    void seek(struct student *p)
    {
    	printf("输入查成绩学生的学号:");
    	scanf("%s",Query[0]);//将用户输入要查询学生的姓名先存入这个二维数组 至于为什么用二维数组 因为方便
    	for(i=0;i<4;i++)//一共有四名同学 从第一名同学开始查询一直查询到第四名 期间若查询到被查询同学 进入下面if语句
    	{
    		if(strcmp(p[i].num, Query[0])==0)//strcmp一个比较字符串是否相同的函数 原型为:int strcmp(char *a, char *b); 若被比较的两个字符串相同则返回0
    		{
    			printf("查询结果:%s\n",p[i].name);
    			printf("课1\t课2\t课3\t课4\t课5\t\n");
    			printf("%d\t%d\t%d\t%d\t%d\n",p[i].score[0],p[i].score[1],p[i].score[2],p[i].score[3],p[i].score[4]);
    			break;
    		}
    
    	}
    	if(i==5)//如果最后i加完也就是四名同学全部查询完还是没有找到说明“查无此人”
    	{
    		printf("查无此人");
    	}
    
    }
    
    void main()
    {
     struct student stu[N];
     input(stu);
     danke(stu);
     everyone(stu);
     seek(stu);
    }
    //--------------Copy BaiYuQing Stdio--------------//
    //-------------------2020-12-16-------------------//
    
    展开全文
  • C语言 结构体应用

    2012-12-27 14:09:48
    A。利用该结构体编写程序让用户输入10个人的信息,将这些信息写入到一个二进制文件out.dat中。 B。编写程序将outdat数据读出,计算出他们的平均年龄。
  • 最近写c程序遇到的结构体指针强转的坑,记录一下.是一个简单的菜单程序,程序用到链表,表中存储了9个不同命令.每次将用户输入的命令与表中存储的命令名作对比(遍历查询),然后执行相应功能.总体结构:linktable.h:定义...
  • C语言结构体练习

    2020-08-12 22:44:58
    1、编写一个函数print,打印一个学生的成绩数组,该数组中有5个学生的数据记录,每个记录包括num,name,score[3],用主函数输入这些记录,用print函数输出这些记录。 #include<stdio.h> #define N 5 struct ...
  • 编写input)和output)函数输入输出5个学生的数据记录 参考答案 创建一个链表 参考答案 反向输出一个链表 参考答案 建立一个单向链表链表中每个结点包含成绩和指针两个域之后输出该链表对该链表排序并输出任意输入一个...
  • C语言 结构体

    2012-11-16 22:33:33
    1、为一个花店编写一个库存... (2)编写函数input_data(),输入现有库存的鲜花数据;  (3)编写一个函数buy(),向用户询问她需要购买的鲜花的种类和数量,计算总价,并从库存中减去用户购买的数量,返回总价格。
  • C语言 结构体专题

    千次阅读 2016-08-01 10:13:22
    定义(序号、学号、姓名、获得学分、高数、大体、近代史、软导、C程均分)数据类型,并输入相应数据,计算平均分并按照下列格式输出(注意间和对齐)。 学号 姓名 性别 数学 英语 c语言 体育 近代史 计算机 总分 ...
  • C语言结构体基础练习题

    千次阅读 2020-11-21 10:33:07
    编写一个函数input,用来输入一个学生的数据记录。 编写一个函数print,打印一个学生的数据记录。 在主函数调用这两个函数,读取N条记录输入,再按要求输出。 N<100 Input 学生数量N占一行 每个学生的学号、姓名、...
  • 1、数据输入 2、数据打印输出 3、返回身高最大值的地址 4、返回身高最小值的地址 5、交换身高最大值和身高最小值的地址 6、根据身高大小完成数据从小到大的排序 7、根据姓名完成数据从小到大的排序 #include...
  • 最近写c程序遇到的结构体指针强转的坑,记录一下. 是一个简单的菜单程序,程序用到链表,表中存储了9个不同命令.每次将用户输入的命令与表中存储的命令名作对比(遍历查询),然后执行相应功能. 总体结构: linktable.h:...
  • 3.有10个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入10个学生数据,要求输出每位学生3门课程总平均成绩,以及最高分的学生数据(包括学号、姓名、3门课程成绩、平均分数)。 代码如下: #include&...
  • PAGE 文案 实验九参考程序 实验91 /* *实验9.1 * *1为某商店的商品设计合适的结构体 (PRODUCT)每一种商品包含编号(number) * 名称(name)价格(price)折扣(discount)4项信息根据表9-1为这些信息选择合适的数据类型 ...
  • (1)输入10个学生的学号、姓名和成绩,求出其中的高分者和低分者。 #include struct student { ...② 程序中,哪些是对结构体变量成员的引用?...③ 对于此例来说,用结构体变量作为数据结构有何优越性
  • 将n个学生的数据表示为结构体变量,内含学生学号、姓名和三门课的成绩。要求输出平均成绩最高的学生的...(1)用input函数来输入数据和求各学生的平均成绩。 (2)用max函数来找平均数成绩最高的学生。 (3)用prin
  • printf("\n请输入10种商品的数据包括品名、单价和出厂日期: "); for(i=0; i ; i++,s++) { scanf("%s %lf %d %d %d",s->name,&s->price,&s->date.year,&s->date.month,&s->date.day); printf("%s %lf %d-%d...
  • 链表每个结点的数据是从键盘上输入的一个字符,链表创建直到输入的字符为问号时结束,新结点总是加到末尾。请把下面5处横线处的答案粘贴在文本框中,并用#连接,如:空1答案#空2答案#...
  • 也就是说我们需要一个一个的去开辟新节点,并且输入各个节点的数据。然后建立起前后相连的关系。#include #include struct weapon{ //公用体(也叫联合体)作用:让几个不同各类型的变量共享一块内存地址。 int...
  • # include struct STU { char name[10];.../*%c前面要加空格, 不然输入时会将空格赋给%c*/ printf("学生姓名:%s 学生年龄:%d 学生性别:%c 学生学号:%s\n", stu[0].name, stu[0].age, stu[0].sex, stu[0].num); }
  • 好像输入的score数据没有传进去,其他的都正常。源码贴在下面,请大佬纠错! <code class="language-cpp">#include<stdio.h> #include<stdlib.h> #include<string.h> //定义...
  • 每个城市信息由城市名(字符串)和位置坐标组成(x,y)。设计实现一程序,完成...代码运行正常,排序、查找功能都正常,但输入数据后,输出(打印在屏幕上)的数据坐标y全部变为0,请问这是怎么回事,看了很久没有看出来
  • 规则:输入选手数目,和评委老师数目;再依次输入选手姓名,及其各评委评分。去掉一个最高分,去掉一个最低分,求其平均分作为该选手的最终得分。输入样例:3 5aaa 89 73 84 89 98bbb 89 87 79 83 89ccc 78 87 89 98...
  • 关于C语言结构体、链表以及c++语言构成,功能特性,可移植性,命名空间以及基本输入输出 C语言结构体 在此前的C语言学习中,对结构的的仅处于了解状态,谈不上可应用与深度理解,经过本次学习,学会了一些基本应用...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 765
精华内容 306
关键字:

c语言结构体输入数据

c语言 订阅