已知6個學生的成績
A. 急用。。。在線等!!謝謝!VB已知6個學生成績,利用String函數顯示
Private Sub Command1_Click()
Dim a()
a = Array(56, 78, 98, 88, 76, 78)
For i = 0 To UBound(a)
Print "學生" & i + 1 & ": "; String(Int(a(i) / 5), "◆"); a(i)
Next i
End Sub
B. c++設計 輸入6名學生5門課程的考試成績,統計出每位學生的均分以及每門課的均分
#include<iostream>
#include<iomanip>
#include<string>
using namespace std;
struct Student
{char name[20];
int num;
int a[4];
int rz;
float rj;
}stu[3]={{"Wang",101,55,57,80,96,0,0},{"Li",102,91,86,93,95,0,0},{"Zhao",103,82,61,49,52,0,0}};
struct a
{
int kz;
float kj;
}ke[4]={0,0,0,0,0,0,0,0};
void xs()
{cout <<setw(12)<<"姓名"<<setw(7)<<"學號"<<setw(7)<<"C++"<<setw(12)<<"數據結構"<<setw(10)
<<"單片機"<<setw(8)<<"英語"<<setw(13)<<"每人總分"<<setw(11)<<"每人均分"<<endl;
cout <<"--------------------------------------------------------------------------------";}
float avg(struct Student stu[],struct a ke[])
{
int i,j;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
stu[i].rz=stu[i].rz+stu[i].a[j];
for(i=0;i<3;i++)
stu[i].rj=stu[i].rz/4.0;
for(i=0;i<4;i++)
for(j=0;j<3;j++)
ke[i].kz=ke[i].kz+stu[j].a[i];
for(i=0;i<4;i++)
ke[i].kj=ke[i].kz/3.0;
return 1;
}
float Avg(struct Student stu[],struct a ke[])
{
int i;
avg(stu,ke);
for(i=0;i<3;i++)
cout <<setw(12)<<stu[i].name<<setw(7)<<stu[i].num<<setw(7)<<stu[i].a[0]<<setw(10)<<stu[i].a[1]<<setw(10)
<<stu[i].a[2]<<setw(10)<<stu[i].a[3]<<setw(10)<<stu[i].rz<<setw(14)<<stu[i].rj<<endl;
cout <<"課程總分"<<setw(19);
for(i=0;i<4;i++)
cout <<ke[i].kz<<setw(10);
cout <<'\b'<<endl<<endl<<"課程均分"<<setw(18);
for(i=0;i<4;i++)
cout <<ke[i].kj<<setw(10);
cout <<endl<<endl;
return 1;}
void highest(struct Student stu[])
{
int i,j,max=0,max_i,max_j;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
if(stu[i].a[j]>max)
{max=stu[i].a[j];
max_i=i;max_j=j;}
cout <<"最高分為"<<max<<"分"<<',';
cout <<"其對應的學生是:"<<stu[max_i].name<<',';
cout <<"其對應的課程是:";
if(max_j==0)cout <<"C++"<<endl;
else if(max_j==1)cout <<"數據結構"<<endl;
else if(max_j==2)cout <<"單片機"<<endl;
else cout <<"英語"<<endl;
cout <<endl;
}
void bjg(struct Student stu[])
{
int i,j,s[3]={0,0,0};
string r[3];
for(i=0;i<3;i++)
for(j=0;j<4;j++)
if(stu[i].a[j]<60)s[i]++;
for(i=0;i<3;i++)
if(s[i]==2||s[i]>2)r[i]="否";
else r[i]="是";
cout <<setw(12)<<"姓名"<<setw(7)<<"學號"<<setw(7)<<"C++"<<setw(12)<<"數據結構"<<setw(10)
<<"單片機"<<setw(8)<<"英語"<<setw(11)<<"及格"<<endl;
cout <<"--------------------------------------------------------------------------------";
for(i=0;i<3;i++)
cout <<setw(12)<<stu[i].name<<setw(7)<<stu[i].num<<setw(7)<<stu[i].a[0]<<setw(10)<<stu[i].a[1]<<setw(10)
<<stu[i].a[2]<<setw(10)<<stu[i].a[3]<<setw(10)<<r[i]<<endl<<endl;
}
void biger(struct Student stu[])
{
int i,j,s[3]={0,0,0},s1[3]={0,0,0};
string c[3],r[3];
for(i=0;i<3;i++)
for(j=0;j<4;j++)
if(stu[i].a[j]>85||stu[i].a[j]==85)s[i]++;
for(i=0;i<3;i++)
if(stu[i].rj==90||stu[i].rj>90||s[i]==4)c[i]="是";
else c[i]="否";
for(i=0;i<3;i++)
for(j=0;j<4;j++)
if(stu[i].a[j]<60)s1[i]++;
for(i=0;i<3;i++)
if(s1[i]==2||s1[i]>2)r[i]="否";
else r[i]="是";
cout <<setw(12)<<"姓名"<<setw(7)<<"學號"<<setw(7)<<"C++"<<setw(12)<<"數據結構"<<setw(10)
<<"單片機"<<setw(8)<<"英語"<<setw(11)<<"及格"<<setw(11)<<"優秀"<<endl;
cout <<"--------------------------------------------------------------------------------";
for(i=0;i<3;i++)
cout <<setw(12)<<stu[i].name<<setw(7)<<stu[i].num<<setw(7)<<stu[i].a[0]<<setw(10)<<stu[i].a[1]<<setw(10)
<<stu[i].a[2]<<setw(10)<<stu[i].a[3]<<setw(10)<<r[i]<<setw(10)<<c[i]<<endl<<endl;
}
void pjfc(struct Student stu[],struct a ke[])
{
int i;
float sum=0,sum1=0,s=0,s1=0;
avg(stu,ke);
for(i=0;i<3;i++)
sum=sum+stu[i].rj*stu[i].rj;
for(i=0;i<3;i++)
sum1=sum1+stu[i].rj;
cout <<"學生成績平均方差是"<<sum/3.0-(sum1/3.0)*(sum1/3.0)<<endl;
for(i=0;i<4;i++)
s=s+ke[i].kj*ke[i].kj;
for(i=0;i<4;i++)
s1=s1+ke[i].kj;
cout <<"課程平均方差是"<<s/4.0-(s1/4.0)*(s1/4.0)<<endl;
cout <<endl;
}
void jm()
{cout <<endl<<"------ 學生成績分析------"<<endl;
cout <<"1.輸出學生基本成績信息"<<endl;
cout <<"2.輸出最高分對應的學生和課程"<<endl;
cout <<"3.如果兩門以上(包括兩門)課程不及格,輸出及格為否,否則為是,輸出學生信息"<<endl;
cout <<"4.如果平均成績在90分以上(包括90)或全部成績在85分以上(包括85),輸出優秀為是,否則為否,輸出學生信息"<<endl;
cout <<"5.求平均方差"<<endl;
cout <<"6.退出"<<endl;
}
int main()
{
int choice;
char s;
cout <<"**********************************"<<endl;
cout <<" 歡迎使用 "<<endl;
cout <<"**********************************"<<endl;
jm();
while(1)
{Student stu[3]={{"Wang",101,55,57,80,96,0,0},{"Li",102,91,86,93,95,0,0},{"Zhao",103,82,61,49,52,0,0}};
a ke[4]={0,0,0,0,0,0,0,0};
cout <<"是否繼續(y/n)";
cin >>s;
if(s=='y')
{jm();
cout <<"請選擇(1-6):";
cin >>choice;}
else return 0;
switch(choice)
{
case 1:
xs();
Avg(stu,ke);
break;
case 2:
highest(stu);
break;
case 3:
bjg(stu);
break;
case 4:
biger(stu);
break;
case 5:
pjfc(stu,ke);
break;
case 6:
return 0;
}}}
C. C語言編程分別求8個學生的6科平均成成績
#include "stdio.h"
int main()
{
float a[8][6],sum;
for (int i=0;i<8;i++)
{
sum = 0;
printf("請輸入第%d個學生的6門成績\n",i+1);
for (int j=0;j<6;j++)
{
scanf("%f",&a[i][j]);
sum+=a[i][j];
}
int ch;
while ((ch = getchar())!=EOF&&ch!='\n');
printf("第%d個學生的平均成績是%f\n",i+1,sum/6);
}
return 0;
}
D. 畫流程圖並編寫程序實現:假設某班學生分為6個組,每個小組均有8名學生,輸入每個學生的成績,分別計算各
tem.Collections.Generic;
using System.Text;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("請輸入分數");
switch (Console.ReadLine())
{
case"5":
Console.WriteLine("優秀");
break;
case"4":
Console.WriteLine("良好");
break;
case"3":
Console.WriteLine("及格");
break;
default: //3分以下均不及格
Console.WriteLine("不及格");
break;
}
}
}
}
照著這個改就是了, 我用的C#
E. 假設有6名學生,每個學生的基本信息包括姓名,性別,成績。編寫程序輸出所有的女生的成績。
#include<iostream>
#include<cstring>
usingnamespacestd;
typedefstruct_tagSTUDENT
{
charname[20];
charsex;
intnumber;
}STUDENT;
intmain(void)
{
STUDENTa[6];
for(inti=0;i<6;i++)
{
cin>>a[i].name>>a[i].sex>>a[i].number;
}
for(intj=0;j<6;j++)
{
if(a[j].sex=='g')//g代表女生,m代表男生了
{
cout<<a[j].name<<a[j].sex<<a[j].number<<endl;
}
}
system("pause");
return0;
}
沒試,應該問題不大
F. C語言: 輸入6個學生5門課程的成績,分別用函數實習下列功能:
說實話,問題比較多,需要寫的代碼也多.我給你寫出前兩個問題的函數吧.下面幾個希望你看過我寫的思考一下,然後自己寫.這樣才會學到東西嘛.//由於沒有給出成績的儲存方式, 這里假設為一個二維數組//int Score[10][5];這可以是int型或者float類型.為了簡單我這里用int型//現在假設成績已經格式化輸入好了. 而且這是一個全局變數.//計算某位學生的平均分 參數為需要求的學生float GetAverageFromSomeone(int index){ int i; int total = 0; //總分 for (i = 0; i < 5; i++) { total += Score[index][i]; } return (float)total / 5.0f;}//計算某個課程平均分float GetAverageFromSomeClass(int index){ int i; int total = 0; //總分 for (i = 0; i < 10; i++) { total += Score[i][index]; } return (float)total / 10.0f;}//找出所有50個分數中最高的分數所對應的學生和課程void GetStuClaByTopscore(int& student, int& class){ int i, index; int max = 0; //最高分 int* pointer = Score[0]; for (i = 0; i < 50; i++) { if (max < *pointer) { max = *pinter; index = i; //記住最高分的位置 } pointer++; } //返回最高分的課程和學生 student = index / 5; class = index % 5;}
G. 1. 已知6個學生5門課程的成績,分別編寫函數:①求每個學生的平均分;②求每門課的 平均分;③找出最高分
請問成績是用什麼儲存的,結構還是2維數組還是1維數組
H. 五年級有47名學生參加數學競賽,成績都是整數,滿分是100分。已知6名學生的成績在60分以下,其餘學生的成
分析復與解:關鍵是構造合適的抽制屜。既然是問「至少有幾名學生的成績相同」,說明應以成績為抽屜,學生為物品。除3名成績在60分以下的學生外,其餘成績均在75~95分之間,75~95共有21個不同分數,將這21個分數作為21個抽屜,把47-3=44(個)學生作為物品。
44÷21= 2……2,根據抽屜原理2,至少有1個抽屜至少有3件物品,即這47名學生中至少有3名學生的成績是相同的。