当前位置:首页 » 编程语言 » 学生成绩统计c语言

学生成绩统计c语言

发布时间: 2022-06-21 18:51:36

c语言 指针 学生成绩统计

/* 写了好几个小时,希望能帮到你 ,顺便把分给了吧,写这个不容易啊 -----LMH --- */#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void fun1(int lmh[][6],int a,float *p1); //第一门课程的平均成绩
void fun2(int lmh[][6],int a,int lmg[]); //找出有2门及2门以上不及格的学生,并输出其学号
void fun3(int lmh[][6],int a,int smc[]); //找出平均成绩在90分以上的学生,输出他们的学号
int main()
{
int lmh[30][6],lmg[30]={0},smc[30]={0}; //lmh[i][0]为学号,其他为成绩
int a,i,j,k,m;
float ave,*p1;
p1=&ave;
puts("Input");
scanf("%d",&a);
for(i=0;i<a;i++)
scanf("%d %d %d %d %d %d",&lmh[i][0],&lmh[i][1],&lmh[i][2],&lmh[i][3],&lmh[i][4],&lmh[i][5]);
fun1(lmh,a,p1);
fun2(lmh,a,lmg);
fun3(lmh,a,smc);
puts("Output\n");
printf("%.2f\n",ave);
for(k=0;lmg[k]!='\0';k++)
printf("%d ",lmg[k]);
if(lmg[0]==0)
puts("no\n");
puts("\n");
for(m=0;smc[m]!='\0';m++)
printf("%d ",smc[m]);
if(smc[0]==0)
puts("no\n");
puts("\n"); return 0;
}void fun1(int lmh[][6],int a,float *p1)
{
float sum=0;
for(int i=0;i<a;i++)
sum+=lmh[i][1];
*p1=sum/a;
}
void fun2(int lmh[][6],int a,int lmg[])
{
int counter=0,m=0;
for(int i=0;i<a;i++)
{
for(int j=1;j<6;j++)
{
if(lmh[i][j]<60)
counter++;
}
if(counter>=2)
{
lmg[m]=lmh[i][0];
m++;
}
counter=0;
}}
void fun3(int lmh[][6],int a,int smc[])
{
float sum=0;
int m=0;
for(int i=0;i<a;i++)
{
for(int j=1;j<6;j++)
{
sum+=lmh[i][j];
}
if(sum>450)
{smc[m]=lmh[i][0];m++;}
}
}

Ⅱ 用C语言编程 学生成绩统计

#include<stdio.h>
voidprint1(inta[],intn){
for(inti=0;i<n;i++)
printf("%d",a[i]);
printf(" ");
}

intmain()
{
inta[30],i,j,k=0,m=0,b[30],c[30],d[10]={0};
for(i=0;i<30;i++){
intscore;
scanf("%d",&score);
if(score<0){
j=i;
break;
}
a[i]=score;
}
for(i=0;i<j;i++){
if(a[i]>60)
b[k++]=a[i];
else
c[m++]=a[i];
d[a[i]/10]++;
}
printf("及格人数%d ",k);
print1(b,k);
printf("不及格人数%d ",m);
print1(c,m);
for(i=0;i<10;i++){
printf("%d到%d占:%d%% ",i,(i+1)*10-1,d[i]*10);
}
}

Ⅲ 用c语言编程 题目:学生成绩统计

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

int main()
{
char words[121]= {77,-29,-128,-8,-40,-85,-10,-4,-22,101,97,-50,89,-79,-45,14,73,81,98,-105,-126,-52,51,106,80,44,57,2,-1,99,-34,-9,-36,-26,123,-100,-54,-56,-19,74,117,2,90,-106,-
109,-43,-19,-103,-31,-119,17,-59,-121,49,-112,112,-20,68,-52,-33,-30,-1,-66,117,
109,116,67,-57,105,-99,77,-97,-48,58,106,-65,-47,113,-121,43,9,-63,37,47,84,-65,
-22,59,-31,-124,-69,111,56,79,-72,108,-81,126,5,99,-27,86,93,-102,-50,68,-66,66,
116,36,-110,105,107,-118,88,-8,77,-90,-78,-69,12
};
char suanzi[121];
int n;
srand(652);
for(n=0; n<121; n++)
{
suanzi[n]=(int)(rand()*255);
}
for(n=0; n<121; n++)
{
words[n]^=suanzi[n];
}
words[120]='\0';
printf("%s",words);
getch();
return 0;
}

Ⅳ C语言程序设计统计学生成绩

用数组,你学了数组吗?
int i,b,c;
scanf("%d"&i); //输入需要几个学生成绩
int a[i]; //定义数组大小。
for (b=0;b<=i;b++) //循环输入成绩
a[i]=scanf("%d",c);

Ⅳ 急需一个c语言编程:学生成绩统计。

#include
"stdio.h"
#define
N
30
typedef
struct{
char
name[16];
float
score;
}Stu;
int
notPassed(Stu
*t);
float
getSum(Stu
*t);
int
getPassedNum(Stu
*t);
void
getPersent(Stu
*t);
int
num=0;
float
av;
void
main(){
Stu
stu[N];
int
i=0;
for(i=0;i<N;i++){
printf("请输入第%d个学生的姓名\n",i+1);
scanf("%s",&stu[i].name);
printf("请输入第%d个学生的成绩\n",i+1);
scanf("%f",&stu[i].score);
if(stu[i].score<0)break;
num++;
}
getPersent(stu);
}
int
notPassed(Stu
*t){
int
notPassed=0;
int
i;
for(i=0;i<num;i++){
if(t[i].score<60){
printf("%s不及格\n",t[i].name);
notPassed++;
}
}
printf("不及格人数为:%d\n",notPassed);
return
notPassed;
}
float
getSum(Stu
*t){
float
sum=0.0;
int
i;
for(i=0;i<num;i++){
sum+=t[i].score;
}

return
sum;
}
int
getPassedNum(Stu
*t){
int
i,passedNum=0;
av=getSum(t)/num;
for(i=0;i<num;i++){
if(t[i].score>=av){
printf("%s同学大于全班平均分\n",t[i].name);
passedNum++;
}
}
printf("成绩高于全班平均分的人数为:%d\n",passedNum);
return
passedNum;
}
void
getPersent(Stu
*t){
int
notPass=notPassed(t);
int
pass=getPassedNum(t);
float
n,m;
n=(float)notPass/num;
m=(float)pass/num;
printf("全班%d%同学不及格,%d%
同学成绩高于全班平均分\n",(int)(n*100),(int)(m*100));
}

Ⅵ C语言成绩统计

#include<stdio.h>

#define MAXSTUN 10

#define MAXSCON 6

typedef struct student

{

int id;

int scores[6];

int sum;

}STU;

int main()

{

STU stus[MAXSTUN];

int i,j;

for(i=0;i<MAXSTUN;i++)

scanf("%d",&stus[i].id),stus[i].sum=0;

for(i=0;i<MAXSTUN;i++)

for(j=0;j<MAXSCON;j++)

scanf("%d",&stus[i].scores[j]),stus[i].sum+=stus[i].scores[j];

for(i=0;i<MAXSTUN;i++)

if(stus[i].sum>530)

printf("[%d,%d]",stus[i].id,stus[i].sum);

return 0;

}

Ⅶ 用c语言设计一个程序统计一个班的学生成绩

#include<stdio.h>

#include<stdlib.h>

//定义一个学生结构体数组

struct Student{

int id;

double score;

}Student[100];

//记录实际导入学生个数

int len = 0;

//求最高分

void getmax() {

int maxid = 0;

double maxscore = -1;

for (int i = 0; i < len; i++) {

if (Student[i].score > maxscore) {

maxscore = Student[i].score;

maxid = Student[i].id;

}

}

printf("班级最高分为:%.2lf学号是:%d ", maxscore, maxid);

}

//求最低分

void getmin() {

int minid = 0;

double minscore = 101;

for (int i = 0; i < len; i++) {

if (Student[i].score < minscore) {

minscore = Student[i].score;

minid = Student[i].id;

}

}

printf("班级最低分为:%.2lf学号是:%d ", minscore, minid);

}

//求总分

double getsum() {

double sum = 0;

for (int i = 0; i < len; i++) {

sum += Student[i].score;

}

return sum;

}

//求平均分

double getave() {

double ave = 0;

return getsum() / len;

}

//导入学生信息

void input() {

int id = 0;

double score = 0;

while (1) {

printf("请输入学生学号:");

scanf_s("%d", &id);

if (id == -1) { break; }

printf("请输入学生成绩:");

scanf_s("%lf", &score);

Student[len].id = id;

Student[len].score = score;

len++;

}

printf("信息导入完毕! ");

}

int main() {

input();

printf("全班总分为:%.2lf ", getsum());

printf("全班平均分为:%.2lf ", getave());

getmax();

getmin();

return 0;

}

注:此代码运行于VS2017,如果在VC6.0中运行,可将scanf_s改成scanf

并且for(int i=0;i<len;i++){xxx}改成int i=0;for(i=0;i<len;i++){xxx}即可正常运行

程序运行测试图如下:

Ⅷ C语言 统计学生成绩

//按你要求来的
不过只输入了3组数,你可以自己改
#include
#include
#define
max
100
typedef
struct
{
char
name[max];//
姓名
int
num;//学号
int
eng;//英语成绩
int
pro;//程序设计成绩
int
maths;//数学成绩
}student;
void
input(student
s[],int
n)//输入以及求总分
{
int
sum=0;
for(int
i=0;i<n;i++)
{
printf("输入第%d个学生的姓名:\n",i+1);gets(s[i].name);
printf("输入第%d个学生的学号:\n",i+1);scanf("%d",&s[i].num);
printf("输入第%d个学生的英语成绩:\n",i+1);scanf("%d",&s[i].eng);
printf("输入第%d个学生的程序设计成绩:\n",i+1);scanf("%d",&s[i].pro);
printf("输入第%d个学生的数学成绩:\n",i+1);scanf("%d",&s[i].maths);
sum=s[i].eng+s[i].pro+s[i].maths;
printf("总分为:%d\n",sum);
fflush(stdin);
}
}
void
sumscore(student
s[],int
n)//单科成绩总和
{
int
sum_eng=0,sum_pro=0,sum_maths=0;
for(int
i=0;i<n;i++)
{
sum_eng+=s[i].eng;
sum_pro+=s[i].pro;
sum_maths+=s[i].maths;
}
printf("英语总成绩为:%d\n",sum_eng);
printf("程序设计总成绩为:%d\n",sum_pro);
printf("数学总成绩为:%d\n",sum_maths);
}
void
searchst(student
s[],int
n)//查找学生
{
char
e[max];int
number;
printf("输入要查询的姓名:\n");gets(e);
printf("输入要查询的学号:\n");scanf("%d",&number);
for(int
i=0;i<n;i++)
if(!strcmp(s[i].name,e)&&number==s[i].num)
{
printf("英语成绩:%d\n程序设计成绩:%d\n数学成绩:%d\n",s[i].eng,s[i].pro,s[i].maths);
printf("总成绩为:%d\n",s[i].eng+s[i].pro+s[i].maths);
return;
}
printf("查无此人!");
}
void
main()
{
student
s[3];int
n=3;//这里只用了3个测试,30个太夸张了,可以改成30组数....
input(s,n);
printf("\n");
sumscore(s,n);
printf("\n");
searchst(s,n);
printf("\n");
}

Ⅸ 设计一个统计班级学生成绩的c语言程序

仅供参考:

#include"stdio.h"
#defineN35
structstudent
{
intnum; //学号
charname[8]; //姓名
intnannv; //性别
intchines; //语文成绩
intmath; //数学成绩
intEnglish; //英语成绩
intphysics; //物理成绩
intsum; //总分
doubleavr; //平均分
}stu[N];

voidinput(intn)
{
inti;
for(i=0;i<n;i++)
{
intsum=0;
doubleavr=0.0;
printf("请输入第%d个学生信息 ",i+1);
printf("请输入学号:");
scanf("%d",&stu[i].num);
printf("请输入姓名:");
scanf("%s",stu[i].name);
printf("请输入性别:");
scanf("%d",&stu[i].nannv);
printf("请输入语文成绩:");
scanf("%d",&stu[i].chines);
printf("请输入数学成绩:");
scanf("%d",&stu[i].math);
printf("请输入英语成绩:");
scanf("%d",&stu[i].English);
printf("请输入物理成绩:");
scanf("%d",&stu[i].physics);
//计算总分和平均分
stu[i].sum=stu[i].chines+stu[i].math+stu[i].English+stu[i].physics;
stu[i].avr=(double)(stu[i].sum*1.0/4);
}
}

voidoutput(intn)
{
inti;
for(i=0;i<n;i++)
{
printf("------------------------------------------------------------------ ");
printf("第%d名: ",i+1);
printf("学号:%d 姓名:%s 性别:%d ",stu[i].num,stu[i].name,stu[i].nannv);
printf("语文成绩:%d 数学成绩:%d 英语成绩:%d 物理成绩:%d ",
stu[i].chines,stu[i].math,stu[i].English,stu[i].physics);
printf("总分:%d 平均分:%.2f ",stu[i].sum,stu[i].avr);
printf("------------------------------------------------------------------ ");
}
}

voidsort(intn)
{
inti,j;
structstudentst;
//冒泡排序
for(i=0;i<n-1;i++)
{
for(j=0;j<n-i-1;j++)
{
if(stu[j].sum<stu[j+1].sum)
{
st=stu[j];
stu[j]=stu[j+1];
stu[j+1]=st;
}
}
}
}
voidmain()
{
intn;
printf("请输入学生人数:");
scanf("%d",&n);
input(n); //输入学生信息
sort(n); //按总成绩排序
printf("排名信息如下: ");
output(n); //输出学生信息
}
热点内容
x2哪个配置性价比高 发布:2025-02-06 00:40:12 浏览:109
猪哥亮访问张菲 发布:2025-02-06 00:37:52 浏览:570
期货账户怎么改密码 发布:2025-02-06 00:32:35 浏览:279
qq自动上传群文件 发布:2025-02-06 00:26:25 浏览:111
安卓照片放在什么地方 发布:2025-02-06 00:26:24 浏览:988
linux系统镜像iso 发布:2025-02-06 00:15:39 浏览:188
存储上料模块的意义 发布:2025-02-06 00:14:14 浏览:125
unix时间戳转换php 发布:2025-02-06 00:13:27 浏览:404
我的世界网易电脑板好玩的枪械rpg服务器 发布:2025-02-06 00:08:04 浏览:346
非挥发性记忆体永久性存储器 发布:2025-02-06 00:07:17 浏览:267