C——结构体

例题1:(使用结构体)
输入两个学生的学号、姓名和成绩,输出成绩较高的学生的学号、姓名和成绩
解题思路:
(1)定义连个结构相同的结构体变量student1,student2;
(2)分别输入两个学生的学号、姓名、和成绩;
(3)比较两个学生的成绩,如果学生1的成绩高于学生2的成绩,就输出学生1的全部信息,如果学生2的成绩高于学生1的成绩,就输出学生2的全部信息。如果两者相等,输出两个学生的全部信息。

代码如下:

#include <stdio.h>
#include <stdlib.h>
int main()
{struct student{int num;char name[20];double score;}student1,student2;scanf("%d %s %lf",&student1.num,student1.name,&student1.score);scanf("%d %s %lf",&student2.num,student2.name,&student2.score);printf("The higher score is:\n");if(student1.score>student2.score){printf("%d %s %lf\n",student1.num,student1.name,student1.score);}else {printf("%d %s %lf\n",student2.num,student2.name,student2.score);}else{printf("%d %s %lf\n",student1.num,student1.name,student1.score);printf("%d %s %lf\n",student2.num,student2.name,student2.score);}return 0;
}

例题2:(使用结构体数组)
有3个候选人,每个选民只能投票选一人,要求编一个统计选票的程序,先后输入被选人的姓名,最后输出个人的票结果。
解题思路:
显然,需要设一个结构体数组,数组中包含3个元素,每个元素中的信息应包括候选人的姓名(字符型)和得票数(整型)。输入备选人的姓名,然后与数组元素中的”姓名”成员比较,如果相同,就给这个元素中的”得票数”成员的值加1.最后输出所有元素的信息。

代码如下:

#include <stdio.h>
#include <string.h>
struct Person
{char name[20];int count;
}leader[3]={"wang",0,"zhang",0,"yan",0};
int main()
{int i,j;char leader_name[20];for(i=1;i<=10;i++){scanf("%s",leader_name);for(j=0;j<3;j++){if(strcmp(leader_name,leader[j].name)==0)leader[j].count++;}}printf("\nResult:\n");for(i=0;i<3;i++){printf("%5s:%d\n",leader[i].name,leader[i].count);}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/380062.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

web.config配置文件详解

<?xml version"1.0"?> <!--注意: 除了手动编辑此文件以外&#xff0c;您还可以使用 Web 管理工具来配置应用程序的设置。可以使用 Visual Studio 中的“网站”->“Asp.Net 配置”选项。 设置和注释的完整列表在 machine.config.comments 中&#xff0c…

离散数学群论_离散数学中的群论及其类型

离散数学群论半群 (Semigroup) An algebraic structure (G, *) is said to be a semigroup. If the binary operation * is associated in G i.e. if (a*b) *c a *(b*c) a,b,c e G. For example, the set of N of all natural number is semigroup with respect to the operat…

IDA使用方法-----1

0x01 启动IDA new&#xff1a;反汇编一个新文件go&#xff1a;运行&#xff0c;直接进入IDAPrevious&#xff1a;载入一个我们以前编译过的程序 如果不想每次都看到这个对话框&#xff0c;可以取消该对话框底部的Display at startup&#xff08;启动时显示&#xff09;&#x…

邮箱验证JS代码

方法一,用JSfunction finish_onclick() { var username document.getElementById("username");var pwhidden document.getElementById("pwhidden");if(username.value"") { alert("请填写您的企业邮箱地址&#xff01;");username.f…

objdump命令详解

objdump命令是用查看目标文件或者可执行的目标文件的构成的gcc工具。 选项 --archive-headers -a 显示档案库的成员信息,类似ls -l将lib*.a的信息列出。 -b bfdname --targetbfdname 指定目标码格式。这不是必须的&#xff0c;objdump能自动识别许多格式&#xff0c;比如…

Java——异常(try...catch...finally)

public class Demo5_Throwable {public static void main(String[] args) {try{System.out.println(1/0);}catch(Exception e){System.out.println(e.getMessage());//获取异常信息,返回字符串&#xff1b;System.out.println(e.toString());//获取异常类名和异常信息&#xff…

Python程序反转给定数字(2种不同方式)

Take input number from the user and print its reverse. 从用户处获取输入号码并打印其反面。 Example: 例&#xff1a; Input:12345Output:54321Here, we are implementing program to reversing a given number using 2 different ways. 在这里&#xff0c;我们正在实施程…

外汇期货学习专帖(转)

一篇好文,值得深思! (转) 我的一些所看所想,和大家聊聊 ; d: R ^6 c* A2 e X" y8 y4 Bhttp://www.fx998.cn 说来惭愧,很久以前,俺在期货公司混事,95年以前国内期货公司从外盘棉花到咖啡....,外汇期指到原油.都能*作.是一派欣欣向荣之景.95年之后,按国家规定都转了内…

《Pro ASP.NET MVC 3 Framework》学习笔记之四【领域模型介绍】

主题&#xff1a;应用领域驱动开发(Applying Domain-Driven Development) Domain Model是MVC程序的"心脏"&#xff0c;其他的一切&#xff0c;包括Controllers和Views仅仅是用来跟Domain Model交互的一种方式&#xff0c;ASP.NET MVC并没有限制使用在Domain Model上面…

Java——集合框架(List)

集合框架&#xff08;List的三个子类的特点&#xff09; A&#xff1a;List的三个子类的特点 ArrayList&#xff1a; 底层数据结构是数组&#xff0c;查询快&#xff0c;增删慢。 线程不安全&#xff0c;效率高。 Vector&#xff1a; 底层数据结构是数组&#xff0c;查询…

一步一步学pwntools(适合新手)

序 pwntools是一个二进制利用框架。官方文档提供了详细的api规范。然而目前并没有一个很好的新手教程。因此我用了我过去的几篇writeup。由于本文只是用来介绍pwntools使用方法&#xff0c;我不会过于详细的讲解各种二进制漏洞攻击技术。 Pwntools的“Hello World” 栈溢出无…

关于J2EE中死锁问题的研究(1)

大多数重要的应用程序都涉及高度并发性和多个抽象层。并发性与资源争用有关&#xff0c;并且是导致死锁问题增多的因素之一。多个抽象层使隔离并修复死锁环境的工作变得更加困难。 通常&#xff0c;当同时执行两个或两个以上的线程时&#xff0c;如果每个线程都占有一个资源并请…

python变量分配内存_Python | 声明任何变量而不分配任何值

python变量分配内存Since, Python is a dynamic programming language so there is no need to declare such type of variable, it automatically declares when first time value assign in it. 由于Python是一种动态编程语言&#xff0c;因此无需声明此类变量&#xff0c;它…

UVA 10004 - Bicoloring

模拟染色&#xff0c;因为只有两种颜色&#xff0c;所以分别用 0、 1 代表这两种颜色&#xff0c;然后从0开始深搜&#xff0c;如果 每个点都能染上色&#xff0c;且相邻两点的颜色不同&#xff0c;则符合要求。 #include<stdio.h>#include<string.h>#define MAXN …

标志寄存器:CF、PF、AF、ZF、SF、TF、DF、OF

注&#xff1a;下面说到的标志寄存器都是缩写&#xff0c;C就是CF&#xff0c;其他也一样 标志寄存器&#xff1a;C、P、A、Z、S、T、D、O的内容只会是0或1&#xff0c;0表示假&#xff0c;1表示真 O&#xff1a;溢出标志 一个寄存器如果存放的值超过所能表示的范围&#xf…

揭秘:销售人员26个致命弱点

销售人员有许多积极的态度需要学习&#xff0c; 同时也有许多不良的习惯应该避免&#xff0c;以免影响个性及专业能力。仔细看看这些缺点&#xff0c;反省你自己&#xff0c;还需要改善的画&#xff0c;直到你给自己一百分为止。找一位深知你的好 友&#xff0c;让他诚实地给你…

Java——集合(练习题)

例题1&#xff1a;产生10个1~20之间的随机数&#xff0c;要求随机数不能重复 import java.util.HashSet; import java.util.Random; public class Test1 {/*** 产生10个1~20之间的随机数&#xff0c;要求随机数不能重复* * 分析&#xff1a;* 1,有Random类创建随机数对象* 2&a…

模块化 组件化 工程化_软件工程中的模块和软件组件

模块化 组件化 工程化The module in software is a small part of the software that is responsible for performing any kind of functionality. Sometimes, the term sub-program is also used to refer to the term module. 软件中的模块是软件的一小部分&#xff0c;负责…

Firefox2狂占CPU解决办法

https://images.cnblogs.com/cnblogs_com/Tisty/138006/o_firefox3.jpg 看了一下&#xff0c;不知道 "jpeg_free_large" 是干啥的&#xff0c;遂用 "Firefox jpeg_free_large" Google 一下&#xff0c;出来的一堆东西里有帖子说可能和 Apple 的 QuickTime …

PUSHAD和POPAD,以及PUSHA和POPA

PUSHAD PUSHAD也叫保护现场&#xff0c;就是把我们的寄存器压入栈中 pushad是把eax&#xff0c;ecx&#xff0c;edx&#xff0c;ebx&#xff0c;esp、ebp&#xff0c;esi&#xff0c;edi依次压入栈中&#xff0c;ESP会减少32&#xff0c;相当于&#xff1a; push eax push ec…