编写程序对成绩排名
㈠ 用C语言编辑程序 成绩排名次——要按提示的编啊
我有空给你,还是好编的
㈡ 请帮我写一下制作学生成绩排名的c语言编程可以吗 十万火急谢谢
这是我以前用c语言写的,如果需要我把源代码发你邮箱!
㈢ C语言编程序对学生成绩排名
#include int main(){ float score = 0f; printf("请输入成绩:\n"); scanf("%f", &score); switch ((int)score / 10) { case 10: case 9: printf("优秀\n"); break; case 8: printf("良好\n"); break; case 7: printf("中等回\n"); break; case 6: printf("及格答\n"); break; default : printf("不及格\n"); break; } return 0;}
㈣ 编写程序求9个同学的平均分,并对成绩由低到高排序
#include <stdio.h>
#include <malloc.h>
typedef struct st
{
char name[20];
int chinese;
int math;
int english;
float average;
}student;
void swap(student *a, student *b)
{
student temp = *a;
*a = *b;
*b = temp;
}
void sort(student *array, int n)
{
int i, j, flag;
for (i = 0; i < n - 1; i++)
{
flag = 1;
for (j = 0; j < n - i - 1; j++)
{
if (array[j].average > array[j + 1].average)
{
swap(array + j, array + j + 1);
flag = 0;
}
}
if (flag)
break;
}
}
void print(student *array, int n)
{
int i;
printf("姓名 语文 数学 英语 平均成绩
");
for (i = 0; i < n; i++)
{
printf("%s %d %d %d %f
", array[i].name, array[i].chinese,
array[i].math, array[i].english, array[i].average);
}
}
int main()
{
int number = 9;
int i;
student *stu = (student *)malloc(sizeof(student) * 9);
for (i = 0; i < number; i++)
{
printf("请输入第%d个学生的姓名及成绩(姓名 语文 数学 英语成绩以空格隔开):
", i + 1);
scanf("%s %d %d %d", (*(stu + i)).name, &(*(stu + i)).chinese,
&(*(stu + i)).math, &(*(stu + i)).english);
(*(stu + i)).average = ((*(stu + i)).chinese +
(*(stu + i)).math + (*(stu + i)).english) / (float)3.0;
}
print(stu, number);
sort(stu, number);
print(stu, number);
free(stu);
return 0;
}
㈤ c语言成绩排名(详细点)
#include <stdio.h>
int Input(int score[])
{ int i=0;
int x;
scanf("%d",&x);
while(i<70&&x!=-1)
{
score[i]=x;i++;
scanf("%d",&x);
}
return i;
}
void Sort(int a[],int n)
{
int i,j;
int flag;
for(i=n-1;i>=1;i--)
{flag=0;
for(j=0;j<n-1;j++)
if(a[j]<a[j+1]){int t=a[j];a[j]=a[j+1];a[j+1]=t;flag=1;}
if(flag==0) break;
}
}
void Output(int score[],int n)
{
int i;
for(i=0;i<n;i++)
if((i+1)%5==0) printf("%4d\n",score[i]);
else printf("%4d",score[i]);
}
int main( )
{
int s[70],n;
n=Input(s);
Sort(s,n);
Output(s,n);
return 1;
}
程序没有调试,原理应该没有错,将就用吧。
㈥ 编写程序,对学生成绩排序,名字与学号都要有
网络搜:C语言实战之学生成绩管理系统
㈦ 编写一个程序,提示用户输入学生个数,学生姓名和他们的成绩,然后按照学生成绩的降序打印学生成绩的排行榜.
import java.util.Arrays;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
reader = new Scanner(System.in);
System.out.println("请输入学生个数");
String strStuNum = reader.nextLine();
int stuNum = Integer.parseInt(strStuNum);
String[] sNames = new String[stuNum];
int[] sScore = new int[stuNum];
for(int i = 0;i < stuNum; i++){
System.out.println("请输入第"+(i+1)+"个学生的姓名");
sNames[i] = reader.nextLine();
System.out.println("请输入"+sNames[i]+"的分数");
sScore[i] = Integer.parseInt(reader.nextLine());
}
int tempScore;
String tempName;
for (int i = stuNum - 1; i > 0; --i) {
boolean isSort=false;
for (int j = 0; j < i; ++j) {
if (sScore[j + 1] < sScore[j]) {
tempScore = sScore[j];
tempName = sNames[j];
sScore[j] = sScore[j + 1];
sNames[j] = sNames[j + 1];
sScore[j + 1] = tempScore;
sNames[j + 1] = tempName;
isSort=true;
}
}
if(!isSort)break;
}
for(int i = stuNum - 1; i >= 0;i--){
System.out.println("第"+(stuNum - i)+"名\t"+sNames[i]+"\t"+sScore[i]);
}
}
}
㈧ 用VC++6.0写程序 成绩排名
留个邮箱,做好了发给你
㈨ 设有10个学生的高考成绩总分,见下表,编写程序,按成绩排名次并从窗体上输出,要求输出名次、姓名、成绩。
#include <stdio.h>
#include <stdlib.h>
#include <iostream.h>
#include <string.h>
const int studentNum=4; //学生数目
const int nameLen=20; //学生姓名长度
const int idLen=15; //学生学号长度
int main()
{
char name[studentNum][nameLen]; //学生姓名
char id[studentNum][idLen]; //学生学号
float score[studentNum][4]; //学生成绩
float sum;
float average[studentNum]; //平均成绩
int i,j;
/*******读入学生的姓名、学号、成绩和计算平均成绩**********/
cout <<"请输入"<<studentNum<<"个" <<"学生资料:" <<endl;
cout <<"格式为:姓名 学号 成绩1 成绩2 成绩3 总分" <<endl;
for(i=0;i<studentNum;i++)
{
cin >>name[i] >>id[i];
sum=0;
for(j=0;j<4;j++)
{
cin >>score[i][j];
}
for(j=0;j<3;j++)
{
sum+=score[i][j];
}
average[i]=sum/3;
cout <<average[i] <<endl;
}
/******按照学生成绩排序************/
int max; //排序,记录当前一趟排序的最大值
for(i=0;i<studentNum-1;i++)
{
max=i; //假定第i个元素是最大值
for(j=i+1;j<studentNum;j++)
{
if(average[j]>average[max])
max=j;
}
/***将找到的具有最大值的元素放到当前一趟排序的第一个位置***/
if(i!=max)
{
float tempFloat;
char tempStr[nameLen];
/***交换两个位置成绩****/
tempFloat=average[i];
average[i]=average[max];
average[max]=tempFloat;
for(j=0;j<4;j++){
tempFloat=score[i][j];
score[i][j]=score[max][j];
score[max][j]=tempFloat;}
/***交换两个位置的学生姓名***/
strcpy(tempStr,name[i]);
strcpy(name[i],name[max]);
strcpy(name[max],tempStr);
/****交换两个位置的学号***/
strcpy(tempStr,id[i]);
strcpy(id[i],id[max]);
strcpy(id[max],tempStr);
}
}
/*****输出排序后的结果******/
cout <<endl <<"排序后的结果为:" <<endl;
for(i=0;i<studentNum;i++){
cout <<name[i] <<" " <<id[i]<<" "<<score[i][0]<<" "<<score[i][1]<<" "<<score[i][2]<<" "<<score[i][3]<<" "<<endl;
}
system("pause");
return 0;
}
这是我给另一个人的,你自己改下吧