学生成绩统计c语言
Ⅰ 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); //输出学生信息
}