当前位置:首页 » 同学友情 » c语言如何输入同学名
扩展阅读
如何培养孩子兴趣教育 2025-02-28 07:03:45
二胡相关知识用英语表述 2025-02-28 06:52:24

c语言如何输入同学名

发布时间: 2024-12-13 09:13:28

❶ 用c语言编写 输入N位同学的姓名(姓名的长度最长的不大于19),及成绩,找出第一名同学,并显示其姓

#include <stdio.h>
#define N 3 //定义有多少名学生
struct student
{
char name[19];
double score;
}stu[N];
void main()
{
int i,first;
double max=0.0;
for(i=0;i<N;i++)
{
scanf("%s%lf",&stu[i].name,&stu[i].score);//输入每一名学生的姓名、成绩
if(stu[i].score>max)
{
max=stu[i].score;//求出最高成绩
first=i;//求出成绩最高的那名学生对应的索引
}
}
printf("第一名为:%s %g\n",stu[first].name,stu[first].score);
}

❷ c语言如何随机输出同学名字

#include <stdlib.h>
#include <time.h>
int randonNumber(){
int i,number;
srand((unsigned) time(NULL)); //用时间做种,每次产生随机数不一样
for (i=0; i<50; i++)
{
number = rand() % 2;
}
return number;
}
void main(){
char * name={"王强","张龟","李大爷"};
int order = randonNumber();
switch(order){
case 0:
printf("同学A=%c",name[0]);
break;
case 1:
printf("同学B=%c",name[1]);
break;
default:
printf("同学C=%c",name[2]);
break;
}
}

❸ 在c语言编程中 怎样按名次输出同学的姓名和学号

#include<stdio.h>
#include<malloc.h>
typedefstructstuInfo
{
intid;//学号
charname[10];//姓名
intscore;//成绩
structstuInfo*next;
}STUINFO;
voidprintfStu(STUINFO*stuHead);//打印学生链表
voidinputInfo(STUINFO*stuHead);//输入学生成绩信息
voidorderByScore(STUINFO*stuHead);//按照成绩名次排列。
intmain()
{
STUINFO*stuHead=(STUINFO*)malloc(sizeof(STUINFO));
stuHead->next=NULL;

inputInfo(stuHead);
printfStu(stuHead);
printf("按照名次排列,依次为:第一名、第二名、第三名。。。 ");
orderByScore(stuHead);
printfStu(stuHead);
}
voidprintfStu(STUINFO*stuHead)
{
printf("学号姓名成绩 ");
while(stuHead->next!=NULL)
{
printf("%d%s%d ",stuHead->next->id,stuHead->next->name,stuHead->next->score);
stuHead=stuHead->next;
}
}
voidinputInfo(STUINFO*stuHead)
{
intid;
STUINFO*stuTail=NULL;
STUINFO*stuNew=NULL;
while(1)
{
stuNew=(STUINFO*)malloc(sizeof(STUINFO));
printf("输入学生的学号、姓名、成绩(学号输入负数结束输入):");
scanf("%d",&id);
if(id<0)
break;
else
stuNew->id=id;
scanf("%s%d",stuNew->name,&stuNew->score);
stuNew->next=NULL;
if(stuHead->next==NULL)
stuHead->next=stuNew;
else
stuTail->next=stuNew;
stuTail=stuNew;
}
}
voidorderByScore(STUINFO*stuHead)
{
STUINFOstuSave;
STUINFO*stuCurrent=stuHead->next;
STUINFO*stuNext=NULL;
while(stuCurrent!=NULL)//冒泡排序,链表节点成员值交换,链表指针不变
{
stuNext=stuCurrent->next;
while(stuNext!=NULL)
{
if(stuCurrent->score<stuNext->score)
{
stuSave=*stuCurrent;
*stuCurrent=*stuNext;
*stuNext=stuSave;
stuNext->next=stuCurrent->next;
stuCurrent->next=stuSave.next;
}
stuNext=stuNext->next;
}
stuCurrent=stuCurrent->next;
}
}