当前位置:首页 » 考试成绩 » 输入n个学生的学号成绩

输入n个学生的学号成绩

发布时间: 2021-02-23 02:08:12

『壹』 编写一个程序,输入n个学生的学号,姓名,3门课程的成绩,求出总分最高的学生并输出该学生的所有信息,

#include "stdio.h"
#include "string.h"
#define NULL 0
typedef struct node
{long num;
char name[4];
float eng,math,com,total,ave;
struct node *next;
}LNode,*LinkedList;

LinkedList LinkedListCreat(LinkedList L )
{ LinkedList L,p,r,s,q;
int x,flag=-1;
float e,m,c;

printf("Please enter student numbers, input of -1 End \n");
scanf("%ld",&x);
while (x!=flag)
{ q=L;s=q->next;
while(s!=NULL&&s->num!=x)
{q=s; s=s->next;}
if(s==NULL)
{
p=(LinkedList)malloc(sizeof(LNode));
printf("Input student's name:");
scanf("%s\n",p->name);
printf("Input student's english:");
scanf("%f\n",&e);
printf("Input student's mathe:");
scanf("%f\n",&m);
printf("Input student's computer:");
scanf("%f\n",&c);
p->num=x;
p->eng=e;
p->math=m;
p->com=c;
p->total=(e+m+c);
p->ave=p->total/3.0;
if(L->next==NULL)
{ r=L;
r->next=p;
r=p;
r->next=NULL;
}
else
{q=L;s=q->next;
while(s!=NULL&&s->total>p->total)
{q=s; s=s->next;}
p->next=q->next; q->next=p;}
}
else
printf("have the same num,Resume load!\n ");
printf("Please enter student numbers, input of -1 End \n");
scanf("%ld",&x);
}
return L;
}

void print(LinkedList L) /*输出链表中的结点*/
{LinkedList p;
p=L->next;
printf("num\tname\tEnglish\t\tmathe\tcomputer\ttotal\tave\n");
while(p!=NULL)
{
printf("%ld\t%s\t%.2f\t\t%.2f\t%.2f\t\t%.2f\t%.2f\t\n",p->num,p->name,p->eng,p->math,p->com,p->total,p->ave);
p=p->next;
}
}

main( )
{LinkedList L;
L=(LinkedList)malloc(sizeof(LNode));
L->next=NULL;

L=LinkedListCreat( L);
print(L);
}

『贰』 编写一个程序,输入N个学生数据,包括学号、姓名、C++成绩,要求输出这些学生的数据、平均分与成绩等级。

#include<bits/stdc++.h>

using namespace std;

class Student

{

private:

int no;

char name[10];

int deg;

static int sum;

static int num;

public:

void setdata(int n,char na[],int d)

{

no=n;

strcpy(name,na);

deg=d;

sum+=d;

num++;

}

static double avg()

{

return sum/num;

}

void disp()

{

cout<<no<<name<<deg<<endl;

}

};

int Student::sum=0;

int Student::num=0;

int main()

{

int n;

cin>>n;

Student stu1,stu2;

stu1.setdata(201,"s",55);

stu2.setdata(203,"sss",88);

stu1.disp();

stu2.disp();

int s = Student::avg();

cout<<s<<endl;

}

(2)输入n个学生的学号成绩扩展阅读

#include <stdio.h>

int main()

{

int x,y;

printf("请输入x:");

scanf("%d",&x);

if(x>-5 && x<0)

y = x;

else if(x==0)

y = x-1;

else if(x>0 && x<10)

『叁』 编写一个程序,输入n个学生的学号,姓民,3门课程的成绩,求出总分最高的学生并输出该学生的所有信息

你的错误是比不知道C语言的索引是从0开始的么,而不是1,

#include<stdio.h>
#definen3
structSTUDENT
{
charname[20];
charnumber[10];
intscore[3];
intsum;
};
main()
{
inti=0,j=0,max=0,maxi=0;
structSTUDENTstu[n];
for(i=0;i<n;i++)
{
printf("Pleaseinputstudent%d'sinformation ",i+1);
printf("Number:");
scanf("%s",stu[i].number);
printf("Name:");
scanf("%s",stu[i].name);
for(j=0;j<3;j++)
{
printf("Score[%d]:",j);
scanf("%d",&stu[i].score[j]);
}
}
for(i=0;i<n;i++)
{
for(j=0;j<3;j++)
{stu[i].sum+=stu[i].score[j];}
if(max<stu[i].sum)
{
max=stu[i].sum;
maxi=i;
}
}
printf("Thehigheststudentisstudent%d:%s%s%d%d%d ",maxi,stu[maxi].number,stu[maxi].name,stu[maxi].score[0],stu[maxi].score[1],stu[maxi].score[2]);
}

『肆』 编写一个程序,输入N个学生的成绩,输出高于平均成绩的学生的学号和成绩.

VB:
private command1_click()
dim a(10) as single
for i=1 to 10
a(i)=inputbox("输入第"+i+"个数:内容")
sum=sum+a(i)
next i
sum=sum/10
for i=1 to 10
if i>sum then print a(i);
next i

end sub

『伍』 编写一个程序,输入N个学生的成绩,输出高于平均成绩的学生的学号和成绩,其中学号和

这个是我以前无聊的时候编的,虽然和你的题目有点不一样,但是基本的功能都有,你拿去参考一下吧!
由于编的时候还没有学结构体,所以这里没有使用结构体……

#define N 6
/*共有6个同学,在这里根据实际学生人数修改学生数*/
#define M 4
/*有3门课*/
main()
{int score[N][M],i,j,sum[N]={0};
float average[M],sum1,sum2=0.0;
for(i=0;i<N;i++)
score[i][0]=i+1; /*编学号*/
for(j=0;j<N;j++)
{printf("Please input num %d's score!\n",j+1);
for(i=1;i<M;i++)
scanf("%d",&score[j][i]); /*根据学号分别输入各位学生各科的成绩 */
}
for(i=0;i<N;i++)
for(j=1;j<M;j++)
sum[i]+=score[i][j]; /*求每个人的成绩总分*/
for(i=1;i<M;i++)
{sum1=0.0;
for(j=0;j<N;j++)
{sum1+=score[j][i];
sum2+=sum[j];
}
average[i-1]=sum1/N;
average[M-1]=sum2/N/(M-1); /*求每门课及总分的平均分 */
}
printf("Num\tChinese\tEnglish\tMaths\tSum\n");
for(i=0;i<N;i++)
{for(j=0;j<M;j++)
printf("%d\t",score[i][j]);
printf("%d\n",sum[i]);
}
printf("\n");
printf("Average:");
for(i=0;i<M;i++)
printf("%.3f\t",average[i]);
getch();
}

『陆』 c++读入n名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。

我看了一下你的代码,发现你的思路是:分数在0-100之间且不存在两个相同的分数,于是,用相对应得分数储存数据,而且用一个judge为真假来判断该位置是否被占用。寻找最大的方式是从100往下看,当遇到第一个judge为真的时候就是最大,最小的反之即可。
然后,我发现你的错误是:judge[j]=1,应该改为:judge[j]==1。
下面是更加简单的思路和方法(可能存在些许失误):
#include <iostream>
using namespace std;
int main(){
int number;
string maxName,maxID,maxScore;
string minName,maxID,minScore;
string tempName,tempID,tempScore;
cin >> number;
for(int i=0;i<number;i++){
cin >> tempName >> tempID >> tempScore;
if(i == 0){
maxName=tempName;
maxID=tempID;
maxScore=tempScore;
minName=tempName;
minID=tempID;
minScore=tempScore;
}else if(tempScore >maxScore){
maxName=tempName;
maxID=tempID;
maxScore=tempScore;
}else if(minScore > tempScore){
minName=tempName;
minID=tempID;
minScore=tempScore;
}
}
cout << maxName << " " << maxID << endl;
cout << minName << " " << minID << endl;
return 0;
}

『柒』 用C语言编写一个程序,输入N个学生的学号和成绩,求平均成绩,并输出其中最高分和最低分学生学号和成绩

#include<stdio.h>
#defineN5

structStu{
intid;
doublescore;
};

voidsortScore(Stus[N]){
inti;
intmin=0,max=0;
for(i=1;i<N;i++){
if(s[i].score>s[max].score)max=i;
if(s[i].score<s[min].score)min=i;
}
printf("%d%.2lf ",s[max].id,s[max].score);
printf("%d%.2lf ",s[min].id,s[min].score);
}

intmain(){
Stus[N];
inti;
doubleans=0;
for(i=0;i<N;i++){
scanf("%d%lf",&s[i].id,&s[i].score);
ans+=s[i].score;
}
printf("%.2lf ",ans/N);
sortScore(s);
}

『捌』 修改下列程序,使得程序的功能是输入n个学生的学号、成绩,计算其平均成绩 求大神帮我修改

#include<stdio.h>
#include<stdlib.h>
structstudent
{
charnum[20];
doublescore;
}stu[10];
voidinput(structstudent*p,intn)
{
inti;
for(i=0;i<n;i++)
{
printf("请输入第%d个学生学号: ",i+1);
scanf("%s",p[i].num);
printf("请输入第%d个学生成绩: ",i+1);
scanf("%lf",&p[i].score);
}
}
doubleaverage(structstudent*p,intn)
{
inti;
doublesum=0;
for(i=0;i<n;i++)
sum+=p[i].score;
returnsum/n;
}
intmain()
{
structstudent*p=stu;
intn;
printf("请收输入学生人数,但不能超过10人:");
scanf("%d",&n);
input(p,n);
printf("%d个学生的平均成绩为:%10.2f ",n,average(p,n));
system("pause");
return0;
}

『玖』 存入N个同学的成绩表(学号、姓名、成绩),输入学号或姓名,查找其成绩。

//ok了,不过我不是姐姐。我只是贴错头像,不知怎么弄成男的。晕。。
#include<stdio.h>
#include<string.h>

#define N 100 //当学生数目>N时,修改这里的值。

struct Student
{
char xuehao[100];
char name[100];
int grade;
};

Student stu[N];

void main()
{
char ans[100];
int choose;
int n;
int i;
printf("请输入学生的人数:");
scanf("%d",&n);
printf("请分别输入学生的学号,姓名,成绩\n");
for(i=0;i<n;i++)
scanf("%s%s%d",&stu[i].xuehao,&stu[i].name,&stu[i].grade);
do
{
printf("请选择你要查询的方式:\n1.按学号\n2.按姓名\n0.退出\n");
scanf("%d",&choose);
if(choose==1)
{
printf("请输入你要查询的学号:\n");
scanf("%s",&ans);
for(i=0;i<n;i++)
{
if(strcmp(ans,stu[i].xuehao)==0)
{
printf("姓名:%s\n学号:%s\n成绩:%d\n",stu[i].name,stu[i].xuehao,stu[i].grade);
break;
}
}
if(i==n) printf("无此学号\n");
}
else if(choose==2)
{
printf("请输入你要查询的姓名:\n");
scanf("%s",&ans);
for(i=0;i<n;i++)
{
if(strcmp(ans,stu[i].name)==0)
{
printf("姓名:%s\n学号:%s\n成绩:%d\n",stu[i].name,stu[i].xuehao,stu[i].grade);
break;
}
}
if(i==n) printf("无此姓名\n");
}
else if(choose==0)
{
break;
}
else
{
printf("输入无效,请重新输入\n");
}
}while(choose!=0);
}

『拾』 编写一个程序,输入N个学生数据,包括学号,姓名,成绩,要求输出这些学生数据并计算平均分,设计一

#include <iostream.h>
#include <stdlib.h>

class student
{
public:
int no;
char *name;
int deg;
student();
~();
void display();
};

static int sum,num=3;
static int avg(int sum);

void main()
{
int aver;
student stu[3];
stu[0].no=1;
stu[0].name="li";
stu[0].deg=89;
stu[1].no=2;
stu[1].name="chen";
stu[1].deg=78;
stu[2].no=3;
stu[2].name="zheng";
stu[2].deg=94;
for(int i=0;i<3;i++)
{
stu[i].display();
sum+=stu[i].deg;
}
cout<<"the sum is:"<<sum<<endl;
aver=avg(sum);
cout<<"the average is:"<<aver<<endl;
}

student::student()
{
no=0;
name=(char*)malloc(sizeof(char)*8);
deg=0;
}

student::~student()
{
free(name);
}

void student::display()
{
cout<<no<<"\t"<<name<<"\t"<<deg<<endl;
}

static int avg(int sum)
{
int aver;
aver=sum/num;
return aver;
}

热点内容
武汉大学学生会辅导员寄语 发布:2021-03-16 21:44:16 浏览:612
七年级学生作文辅导学案 发布:2021-03-16 21:42:09 浏览:1
不屑弟高考成绩 发布:2021-03-16 21:40:59 浏览:754
大学毕业证会有成绩单 发布:2021-03-16 21:40:07 浏览:756
2017信阳学院辅导员招聘名单 发布:2021-03-16 21:40:02 浏览:800
查询重庆2018中考成绩查询 发布:2021-03-16 21:39:58 浏览:21
结业考试成绩怎么查询 发布:2021-03-16 21:28:40 浏览:679
14中医医师资格笔试考试成绩查分 发布:2021-03-16 21:28:39 浏览:655
名著赏析课程标准 发布:2021-03-16 21:27:57 浏览:881
北京大学商业领袖高端培训课程 发布:2021-03-16 21:27:41 浏览:919