當前位置:首頁 » 考試成績 » 用結構體編寫學生成績

用結構體編寫學生成績

發布時間: 2020-12-01 02:25:55

㈠ C語言結構體與共用體 編寫程序,有10個學生,每個學生的數據包括:學號,姓名,3門課程的成績,輸

#include "stdio.h"
#include <stdlib.h>
#define SIZE 10

struct student{
char id[20];
char name[20];
int score[3];
float average;
} stud[SIZE];

void input() /* 輸入學生的信息 */
{
int i;

for(i=0;i<SIZE;i++)
{
printf("第%d個學生的信息:\n",i+1);
scanf("%s%s%d%d%d",stud[i].id,stud[i].name,&stud[i].score[0],&stud[i].score[1],&stud[i].score[2]);
stud[i].average=(stud[i].score[0]+stud[i].score[1]+stud[i].score[2])/3.0;
}
}

void sort /* 按照平均分由高到低排列 */
{
int i,j;
struct student temp;

for(i=0;i<SIZE;i++)
{
for(j=0;j<SIZE-i-1;j++)
{
if(stud[j].average<stud[j+1].average)
{
temp=stud[j];
stud[j]=stud[j+1];
stud[j+1]=temp;
}
}
}

}
void output() /* 輸出學生的信息 */
{
int i;

printf("\n");
for(i=0;i<SIZE;i++)
printf("%s %s %d %d %d %3.1f\n",stud[i].id,stud[i].name,stud[i].score[0],stud[i].score[1],stud[i].score[2],stud[i].average);
}

void main()
{
input();
sort();
output();

}

㈡ C語言編程 用結構體的知識編程輸入並列印學生的成績與信息

#include<stdio.h>
#define N 10

struct Student
{
char id[8],name[8];
int s1,s2,s3;
float ave_s;
};

int main()
{
struct Student s[N];
int i,p;
/* 輸入學生成績信息,並計算平均成績 */
for(i=0; i<N; i++)
{
printf("輸入學生 %d 的學號 姓名 和3門課的成績:",i+1);
scanf("%s%s%d%d%d",&s[i].id,&s[i].name,&s[i].s1,&s[i].s2,&s[i].s3);
s[i].ave_s=(s[i].s1+s[i].s2+s[i].s3)/3.0;
}

/* 輸出每個學生的平均成績 */
printf(" 學號 平均成績\n");
for(i=0; i<N; i++)
printf("%8s%8.1f\n\n",s[i].id,s[i].ave_s);

/* 查找平均成績最高的學生 */
p=0;
for(i=0; i<N; i++)
if(s[i].ave_s>s[p].ave_s)
p=i;
/* 輸出平均成績最高的學生信息 */
printf(" 學號 姓名 成績1 成績2 成績3 平均成績\n");
printf("%8s%8s%8d%8d%8d%8.1f\n",s[p].id,s[p].name,s[p].s1,s[p].s2,s[p].s3,s[p].ave_s);
return 0;
}

㈢ 用結構體類型編寫一個程序,輸入一個學生的學號、姓名、及3門課的成績,計算機並輸出其平均成績。

#include "stdio.h"

void main(){

struct Student{

char id[10];

char name[10];

int score;

}

stu = {"001", "Sam", 80};

printf("%s %s %d", stu.id, stu.name, stu.score);

}

(3)用結構體編寫學生成績擴展閱讀

在C語言中,結構體(struct)指的是一種數據結構,是語言中聚合數據類型(aggregate data type)的一類。結構體可以被聲明為變數、指針或數組等,用以實現較復雜的數據結構。結構體同時也是一些元素的集合,這些元素稱為結構體的成員(member),且這些成員可以為不同的類型,成員一般用名字訪問。

C++提供了許多種基本的數據類型(如int、float、double、char等)供用戶使用。但是由於程序需要處理的問題往往比較復雜,而且呈多樣化,已有的數據類型顯得不能滿足使用要求。

因此C++允許用戶根據需要自己聲明一些類型,用戶可以自己聲明的類型還有結構體類型(structure)、共用體類型(union)、枚舉類型(enumeration)、類類型(class )等,這些統稱為用戶自定義類型(user-defined type,UDT)。

㈣ 用結構體完成N個學生M名課程的成績排序 用C語言編寫

這里是4名學生一門成績的排序,不過中間還有生日,希望能給你帶來點靈感吧!源代碼如下:
#include <stdio.h>
struct student_record
{
char name[8];
struct birth
{
int year;
int month;
int day;
}date;
int score;
}student[4];

void main()
{
struct student_record student[4];
struct student_record stu;
int i,j;
printf("please input date:\n");
for(i=0;i<4;i++)
scanf("%s%d%d%d%d",student[i].name,&student[i].date.year,
&student[i].date.month,&student[i].date.day,&student[i].score);
printf("OUTPUT:\n");
printf("NAME BIRTH SCORE\n");
for(j=1;j<=3;j++)
for(i=0;i<4-j;i++)
{

if(student[i].score<student[i+1].score)
{
stu=student[i];
student[i]=student[i+1];
student[i+1]=stu;
}

}
for(i=0;i<4;i++)
printf("%s %d,%d,%d %d\n",student[i].name,student[i].date.year,
student[i].date.month,student[i].date.day,student[i].score);
}

㈤ 利用結構體類型編制一程序,實現輸入三個學生的學號,數學語文英語成績,然後計算每位學生的總成績以及平均

// struct.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
/*利用結構體類型編制一程序,實現輸入三個學生的學號,
數學語文英語成績,然後計算每位學生的總成績以及平均成績 */
int main(int argc, char* argv[])
{
struct stu
{
int stuno;
int mathgrade;
int yuwengrade;
int enggrade;
} a[3] ;
int av_math=0;
int av_yuwen=0 ;
int av_eng=0 ;
for (int i=0 ; i<3 ;i++)
{
printf("請輸入第%d位同學的數據:\n",i+1);
printf("請依次輸入學號、數學成績、語文成績、英語成績!\n");
scanf("%d %d %d %d",&a[i].stuno,&a[i].mathgrade,&a[i].yuwengrade,&a[i].enggrade) ;
}
printf("數據錄入完畢!計算成績中........\n");
for(int j =0 ;j<3 ;j++)
{
printf("學號為%d的同學的總成績為:%d\n",a[j].stuno ,a[j].mathgrade + a[j].yuwengrade +a[j].enggrade);
av_math =av_math + a[j].mathgrade ;
av_yuwen =av_yuwen +a[j].yuwengrade ;
av_eng = av_eng +a[j].enggrade;
}
printf("數學的平均成績是:%d\n",av_math/3) ;
printf("語文的平均成績是:%d\n",av_yuwen/3) ;
printf("英語的平均成績是:%d\n",av_eng/3) ;

return 0;
}

哥測試通過了。。放心的黏貼吧

㈥ 用C語言結構體指針編程序實現輸入十個學生的學號,期中和期末成績,計算輸出成績表和學生平均分

#include<iostream>
#include<string>

using namespace std;
//=============<開始定義結構體>===================================================
struct combox{

int num;
int mark;
string name;
combox *next;

};
//=============<結束定義結構體>===================================================

//=============<開始定義Commonbox類>==============================================

//-----類體開始------------------------
class Commonbox{

private:

combox *head;void Swap(combox *,combox *); //交換兩個combox變數的數據域

void Print(combox *); //輸出一combox指定的記錄

combox *Find(int); //查找條例條件的記錄,並返回該記錄的指針

public:

Commonbox(){head=NULL;}

int ListCount(); //統計當前鏈表的記錄總數,返回一個整數

void AddItem(int num, string name, int mark); //添加一條記錄到表尾
void RemoveItem(int); //刪除一條指定的記錄

void List(); //列出當前鏈表中的所有記錄

void Sort(); //對當前鏈表進行排序

void Search(int); //在當前鏈表查找指定記錄並輸出

float Average(); //計算平均成績

(6)用結構體編寫學生成績擴展閱讀

用C語言結構體指針編程序應用方法:

將一個結構體變數中的數據傳遞給另一個函數,有下列3種方法:

(1) 用結構體變數名作參數。一般較少用這種方法。

(2) 用指向結構體變數的指針作實參,將結構體變數的地址傳給形參。

(3) 用結構體變數的引用變數作函數參數。

在軟體開發過程中,常常需要動態地分配和撤銷內存空間,例如對動態鏈表中結點的插入與刪除。C語言中是利用庫函數malloc和free來分配和撤銷內存空間的。

㈦ c語言編程,用結構體編學生成績系統

#include <stdio.h>
#include <string.h>

#define STU_NUM 10//學生數
#define SCORE_NUM 6//每個學生的科目數

typedef struct /*定義結構體數組*/
{
char num[20]; /*學號*/
char name[20]; /*姓名*/
float score[SCORE_NUM]; /*成績*/
float total;//總分
float average;//平均分
} Student;

Student stu[STU_NUM];

//輸入學生信息
void input()
{
int i,j;

printf("請輸入%d個學生的信息:\n",STU_NUM);
for(i=0;i<STU_NUM;i++)
{
printf("學號:");
scanf("%s",stu[i].num);
printf("姓名:");
scanf("%s",stu[i].name);
for(j=0;j<SCORE_NUM;j++)
{
printf("科目%d的成績:",j+1);
scanf("%f",&stu[i].score[j]);
}
}
}

//輸出學生信息
void output()
{
int i,j;

//列印表頭
printf("學號\t姓名\t");
for(j=0;j<SCORE_NUM;j++)
{
printf("科目%d\t",j+1);
}
printf("總分\t平均分\n");

//列印所有學生信息
for(i=0;i<STU_NUM;i++)
{
printf("%s\t%s\t",stu[i].num,stu[i].name);
for(j=0;j<SCORE_NUM;j++)
{
printf("%3.2f\t",stu[i].score[j]);
}
printf("%3.2f\t%3.2f\n",stu[i].total,stu[i].average);
}
}

//計算總分和平均分
void process()
{
int i,j;

for(i=0;i<STU_NUM;i++)
{
stu[i].total=0;
for(j=0;j<SCORE_NUM;j++)
{
stu[i].total+=stu[i].score[j];
}
stu[i].average=stu[i].total/SCORE_NUM;
}
}

//排序並輸出
void sort()
{
Student tStu;
int i,j;

for(i=0;i<STU_NUM;i++)
{
for(j=STU_NUM-1;j>i;j--)
{
if(stu[j].total>stu[j-1].total)
{
tStu=stu[j];
stu[j]=stu[i];
stu[i]=tStu;
}
}
}
}

void main()
{
input();
process();
sort();
output();
}
經供參考,具體自己調試。

㈧ 利用指向結構體的指針編寫程序,實現輸入3個學生的學號、姓名、性別、數學期中和期末成績,然後計算各自

表示部分同意cdyzxy
的觀點,可是還有錯,你應該自己執行一下試試才能專發現所有的錯誤。
我在屬最後一行發現了最後一個錯。
#include
"stdio.h"
#include
"string.h"
struct
student
{
char
ID[9];
char
name[10];
char
sex;
int
score1;
int
score2;
}x;
void
main()
{
struct
student
*p;
int
av;
int
i;
for
(
i=0;i<3;i++
)
//因要輸入和處理3個學生的信息,應加一個循環
{
scanf("%s
%s
%c
%d
%d",x.ID,x.name,&x.sex,&x.score1,&x.score2);
//sex是字元型用%c輸入,而且要寫成&x.sex
//
使用%c和&x.sex
p=&x;
av=((p->score1)+(p->score2))/2;
printf("x的平均成績是:%d\n",av);
//這里應該改成%d,而不是%.lf
}
}//最後,輸入格式:1101
Tom
m
95
90

㈨ 用結構體完成學生信息

奧體完成學業信息可以的。

熱點內容
武漢大學學生會輔導員寄語 發布: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