當前位置:首頁 » 編程語言 » 學生成績統計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); //輸出學生信息
}
熱點內容
python3graphics 發布:2025-02-05 21:36:57 瀏覽:511
為什麼英雄聯盟一個伺服器進不去 發布:2025-02-05 21:36:12 瀏覽:182
伺服器搭建網站開發教材 發布:2025-02-05 21:31:57 瀏覽:567
pythonrose 發布:2025-02-05 21:31:46 瀏覽:923
php數組從小到大排序 發布:2025-02-05 21:26:01 瀏覽:324
單片機存儲器擴展 發布:2025-02-05 21:17:35 瀏覽:966
sqler圖 發布:2025-02-05 21:10:58 瀏覽:630
網路編程android 發布:2025-02-05 21:05:49 瀏覽:346
python時間毫秒數 發布:2025-02-05 20:51:32 瀏覽:331
clash安卓如何切換節點 發布:2025-02-05 20:48:20 瀏覽:890