输入学生成绩并显示
㈠ 输入4个学生的成绩,求总分与平均分,并输出.要求
#include <stdio.h>
#define N 4 //学生个数
int main(void)
{
double a1, a2, a3, a4; //四门科目成绩
double ave, sum; //平均值和总值
int i;
for (i = 0; i < N; i++)
{
printf("输入第%d个学生成绩:\n", i+1);
scanf("%lf%lf%lf%lf", &a1, &a2, &a3, &a4);
ave = (sum = a1 + a2 + a3 + a4) / 4;
printf("第%d个学生的成绩总值和平均值分别为 %.2lf %.2lf\n", i+1, sum, ave);
}
return 0;
}
㈡ c语言:编写程序输入 10 个学生的成绩,计算并输出最高成绩和平均成绩,然后统计低于平均成绩的人数
#include<stdio.h>
int main()
{
int i;
float a[10],min,max,avg;//max表示最高分,min表示最低分,avg表示平均分
printf("请输入10位学生的分数 ");
printf("******************************** ");
for(i=0;i<=9;i++)
{
printf("请输入一位学生的分数:");
scanf("%f",&a<i>);
}
max=min=avg=a[0];
for(i=1;i<=9;i++)
{
if(min>a<i>)
{min=a<i>;}
if(max<a<i>)
{max=a<i>;}
avg=avg+a<i>;
}
avg=avg/10;
printf("max=%f ",max);
printf("min=%f ",min);
printf("max=%f ",avg);
printf("******************************** ");
}
(2)输入学生成绩并显示扩展阅读:
include用法:
#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。
插入头文件的内容
#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:
1、#include<文件名>
2、#include"文件名"
㈢ 编写程序,输入一批学生的成绩,遇负数表示输入结束,要求统计并输出各等级成绩的学生个数
public static void main(String[] args) {
List<Float> list=new ArrayList<Float>();
student(list);
int A=0;
int P=0;
int F=0;
for(Float f:list){
if(f>=0 && f<=59){
F++;
}
if(f>=60 && f<=89){
P++;
}
if(f>=90){
A++;
}
}
System.out.println("A等级人数:"+A+"\n");
System.out.println("P等级人数:"+P+"\n");
System.out.println("F等级人数:"+F+"\n");
}
public static void student(List<Float> list){
try{
System.out.println("请输入成绩:");
BufferedReader strin=new BufferedReader(new InputStreamReader(System.in));
float value=Float.valueOf(strin.readLine()==""?"0":strin.readLine());
if(value>=0){
list.add(value);
student(list);
}else{
return;
}
}catch (Exception e) {
}
}
很辛苦,网采纳
㈣ 输入学生成绩数据,并具有插入、查找、删除、显示学生数据、输出数据到磁盘文件的功能
//21chenxb's work
//2009/7/1
//供参考
//////////////////////////////////头文件包含
#include<iostream.h>
#include<iomanip.h>
#include<string.h>
#include<malloc.h>
#include<conio.h>
#include<stdlib.h>
/////////////////////////////////预定义
#define ERROR 0
#define OK 1;
////////////////////////////////结构体定义
struct student
{
char studentno[10];//学号
char name[10];//姓名
char sex[5];//性别
char jiguan[10];//籍贯
char xueyuan[10];//学院
char banji[10];//班级
} ;
typedef int ElemType;
typedef struct LNODE
{
student data;
struct LNODE *next;
}LNode, *LinkList;
/////////////////////////////存储结构(单链表)所必须的实现函数
//初始化单链表
int init(LinkList &L)
{
L=(LinkList)malloc(sizeof(LNode));
if(L)
L->next=NULL;
return OK;
}/*init */
//求表长
int ListLength(LinkList L)
{
LinkList p=L->next;
int n=0;
while(p!=NULL)
{
n++;
p=p->next;
}
return n;
}/*getLinklist length*/
//插入操作
int ListInsert(LinkList &L,int i, student e)
{
LinkList s,p = L;
int j = 0;
while (p && j < i-1)
{ p = p->next; ++j; }
if (!p)
return -1;
s = (LinkList) malloc ( sizeof (LNode));
s->data=e;
s->next = p->next;
p->next = s;
return 1;
}/*ListInsert before i*/
///////////////////////////////函数声明部分
void menu();//显示菜单
void add(LinkList stuinfo);//添加信息
void del(LinkList stuinfo);//删除信息
void que(LinkList stuinfo);//查找信息
void baobiao(LinkList L);//显示全部信息
void xuanze(LinkList stuinfo);//用户完成操作后的选择
void begin(int choose,LinkList stuinfo);//程序运行中开始
int addiden(LinkList stuinfo,student stu);//用于判断添加信息的时候出现相同学号
void help(LinkList stuinfo);//帮助信息
void start();//新启动时开始
void Exception();//处理操作异常
/////////////////////////////主函数部分
void main()
{
cout<<"-----------------IMPORTANT INFO ---------------------"<<endl;
cout<<"This programer is powerd by guojun!"<<endl;
cout<<"You may choose 5 and look the help info."<<endl;
cout<<"You must be more careful,or you will lose the data"<<endl;
cout<<"------------------------------------------------------"<<endl;
start();
}
////////////////////////////各详细功能函数实现部分
void menu()//菜单
{
cout<<"------The Student Management System is running------"<<endl;
cout<<"菜单:"<<endl;
cout<<"----------------------------------------------------"<<endl;
cout<<"| N.退出系统(N=0或任何非数字字串). |"<<endl;
cout<<"| 1.添加学生信息. |"<<endl;
cout<<"| 2.删除学生信息. |"<<endl;
cout<<"| 3.查询学生信息. |"<<endl;
cout<<"| 4.报表学生信息. |"<<endl;
cout<<"| 5.查看帮助信息. |"<<endl;
cout<<"----------------------------------------------------"<<endl;
cout<<"请选择操作!"<<endl;
cout<<"----------------your work is beginning-------------------"<<endl;
}
void add(LinkList stuinfo)//添加
{
cout<<"------------you are adding the student's info-------"<<endl;
int n;
char temp;
student info;
cout<<"姓名:";
cin>>info.name;
cout<<"性别:";
cin>>info.sex;
cout<<"学号:";
cin>>info.studentno;
if(addiden(stuinfo,info)==1)
{
cout<<"学号重复!请检查后重新添加!"<<endl;
cout<<"----------------The exception is passed-------------"<<endl;
cout<<"现在重新添加!"<<endl;
add(stuinfo);
}
cout<<"籍贯:";
cin>>info.jiguan;
cout<<"学院:";
cin>>info.xueyuan;
cout<<"班级:";
cin>>info.banji;
n=ListLength(stuinfo)+1;
ListInsert(stuinfo,n,info);
///////////////////////////////////////////////////
cout<<"继续添加吗?"<<endl<<"1→继续 2→结束"<<endl;
cin>>temp;
switch(temp)
{
case '1': add(stuinfo);break;
case '2': xuanze(stuinfo);break;
default: Exception();break;
}
}
void del(LinkList stuinfo)//删除
{
cout<<"------------you are deleting the student's info-------"<<endl;
int flag=0;
student que;
cout<<"请输入要删除的学号:"<<endl;
cin>>que.studentno;
LinkList p,q;
p=stuinfo->next;
q=stuinfo;
while(p&&flag!=1)
{
if(strcmp((p->data).studentno,que.studentno)==0)//字符串比较用strcmp,而不可以用等于号,那样是比较首地址
{
flag=1;
//q=p->next;
p=q->next;//正确的删除方法,上面的删除方法不正确
q->next=p->next;//
free(p);
cout<<"删除成功!"<<endl;
}
else
{
p=p->next;
q=q->next;
}
if(flag==0)
{
cout<<"删除失败,无此学号信息!"<<endl;
}
}
//////////////////////////////////////
xuanze(stuinfo);
}
void que(LinkList stuinfo)//查询
{
cout<<"------------you are searching the student's info-------"<<endl;
int flag=0;
student que;
cout<<"请输入要查询的学号:"<<endl;
cin>>que.studentno;
LinkList p;
p=stuinfo->next;
while(p)
{
if(strcmp((p->data).studentno,que.studentno)==0)//字符串只能比较用
{
flag=1;
cout<<"检索成功!"<<endl;
cout<<"学号"<<setw(12)<<"姓名"<<setw(12)<<"性别"<<setw(12)<<"籍贯"<<setw(12)<<"学院"<<setw(12)<<"班级"<<endl;
cout<<(p->data).studentno<<setw(10)<<(p->data).name<<setw(10)<<(p->data).sex<<setw(10)<<(p->data).jiguan<<setw(10)<<(p->data).xueyuan<<setw(10)<<(p->data).banji<<endl;
}
p=p->next;
}
if(flag==0)
{
cout<<"查询失败,无此学号信息!"<<endl;
}
/////////////////////////////
xuanze(stuinfo);
}
int addiden(LinkList stuinfo,student stu)//用于判断添加的学号是否重复
{
LinkList p;
int flag=0;
p=stuinfo->next;
while(p)
{
if(strcmp((p->data).studentno,stu.studentno)==0)//字符串只能比较用
{
flag=1;
}
p=p->next;
}
return flag;
}
void baobiao(LinkList L)//报表,显示全部学生信息
{
cout<<"------------There is all the students' info---------"<<endl;
LinkList p,stuinfo=L;
p=L;
cout<<"学号"<<setw(12)<<"姓名"<<setw(12)<<"性别"<<setw(12)<<"籍贯"<<
setw(12)<<"学院"<<setw(12)<<"班级"<<endl;
while(p->next)
{
p=p->next;
cout<<(p->data).studentno<<setw(10)<<(p->data).name<<
setw(10)<<(p->data).sex<<setw(10)<<(p->data).jiguan<<
setw(10)<<(p->data).xueyuan<<setw(10)<<(p->data).banji<<endl;
}
cout<<endl;
//////////////end function
xuanze(stuinfo);
}
void xuanze(LinkList stuinfo)//操作之后的选择
{
cout<<"------------your work is over,please give new choice!-------"<<endl;
char xuanze;
cout<<"本次操作结束!";
cout<<"是否继续? y/n? "<<endl;
//system("pause");
cin>>xuanze;
if(xuanze=='y')
{
system("cls");//qingping
int choose;
menu();
cin>>choose;
begin(choose,stuinfo);
}
else
{
if(xuanze=='n')
{
return;
}
else
{
Exception();
}
}
}
void begin(int choose,LinkList stuinfo)//开始时候的选择
{
switch(choose)
{
case 0:
cout<<"成功退出,欢迎再来!"<<endl;break;
case 1: add(stuinfo);break;
case 2: del(stuinfo);break;
case 3: que(stuinfo);break;
case 4: baobiao(stuinfo);break;
case 5: help(stuinfo);break;
default :
cout<<"非法输入!系统自动退出!"<<endl;
return;
}
}
void help(LinkList L)//帮助信息显示函数
{
int t;
LinkList stuinfo=L;
cout<<"-------you are reading the helpful info------------"<<endl;
cout<<"a.本系统尚未采用文件读写机制,仅供测试算法使用。"<<endl;
cout<<"b.测试之前,请按提示添加部分信息,且不要关闭程序。"<<endl;
cout<<"c.菜单中的序号为操作代号,提示信息中,依据提示代号。"<<endl;
cout<<"d.做的不好,多多指教,谢谢!是否返回?1→返回。"<<endl;
cin>>t;
if(t==1)
{
xuanze(stuinfo);//常规程序开始
}
else
{
Exception();//误操作后程序开始
}
}
void start()//程序开始
{
int choose;
LinkList stuinfo;
init(stuinfo);
//////////////////////////
menu();
cin>>choose;
begin(choose,stuinfo);
}
void Exception()//用于处理用户误操作
{
cout<<"----------------------------------"<<endl;
cout<<endl;
cout<<"非法输入,请仔细操作!"<<endl;
system("pause");
system("cls");
cout<<"本系统自动重新开始!"<<endl;
cout<<endl;
cout<<"----------------------------------"<<endl;
start();
}