伪代码输入学生和成绩
1. 编程实现:输入一组学生的姓名和成绩,根据成绩降序排名。
#include <stdio.h>
#include <string.h>
#define N 3
struct student
{
int score;
char name[20];
};
main()
{
struct student a[N],temp;
int i,j;
for(i=0;i<N;i++)
{
printf("input the %dth student's information:\n",i+1);
printf("name:");
scanf("%s",a[i].name);
printf("score:");
scanf("%d",&a[i].score);
}
for(i=1;i<N;i++)
for(j=0;j<N-i;j++)
if(a[j].score<a[j+1].score)
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
printf("名次 姓名 成绩\n");
for(i=0;i<N;i++)
printf("%4d%10s%4d\n",i+1,a[i].name,a[i].score);
}
//调试成果 运行正内确容!
2. 编写一个程序,提示用户输入学生个数,学生姓名和他们的成绩,然后按照学生成绩的降序打印学生成绩的排行榜.
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]);
}
}
}
3. C语言输入学生名字和成绩:自己写的这段代码无法输出结果啊。求教
void SelectSort(char StuNo[][8],float score[8])<---------成绩排序了,学生当然得跟着排
{
int i,j,k;
float temp;
char stemp[8];
for(i=0;i<N;i++)
{
for(j=i+1;j<=N-1;j++)<------ i+1 不是 j+1
{
if(score[i]>score[j])
{
temp=score[j];
score[j]=score[i];
score[i]=temp;
for(k=0;k<8;k++)//交换学生
{
stemp[k]=StuNo[j][k];
StuNo[j][k]=StuNo[i];
StuNo[i][k]=stemp[k];
}
}
}
}
4. c语言 写程序(1)输入十个学生的学号和成绩(2)输入一个学号,查找
#include<stdio.h>
typedefstruct
{
charno[20];
intscore;
}STU;
intmain()
{
STUs[10],t;
charno[20];
inti,j;
for(i=0;i<10;i++)
{
scanf("%s%d",t.no,&t.score);
for(j=i;j>=0;j--)
if(s[j].score<t.score)s[j+1]=s[j];
elsebreak;
s[j+1]=t;
}
for(i=0;i<10;i++)
printf("%s%d ",s[i].no,s[i].score);
printf("输入要查询的学号:");
scanf("%s",no);
for(i=0;i<10;i++)
if(strcmp(s[i].no,no)==0)break;
if(i==10)printf("不在十个学生中 ");
elseprintf("该学生分数为%d ",s[i].score);
return0;
}
5. 编辑程序完成如下功能:从键盘上输入学生5门课的成绩,计算出总成绩和平均成绩.
pasicl语言的:
program xx(input,output);
var
a,b,c,d,e,ZF,PJF:real;
begin
read(a,b,c,d,e);
ZF:=a+b+c+d+e;
PJF:= ZF/5;
writeln('Zongfen=',ZF,' Pingjunfen=',PJF)
end.
ZF——总分,PJF——平均分
算法很简单:首先读入数值,再求总分,然后用总分/学科数回(本题答为5),在输出数值就可以了。
6. c语言中要输入未知人数的学生成绩,计算学生人数和成绩和用while语句怎样解决
#include<stdio.h>
#include<string.h>
intmain(){
intsum=0;
intx;
scanf("%d",&x);
while(x>0){
sum+=x;
scanf("%d",&x);
}
printf("sum=%d ",sum);
return0;
}
输入小复于制0的数作为结束即可。
7. 用C语言编写一个程序,输入N个学生的学号和成绩,求平均成绩,并输出其中最高分和最低分学生学号和成绩
#include<stdio.h>
#defineN5
structStu{
intid;
doublescore;
};
voidsortScore(Stus[N]){
inti;
intmin=0,max=0;
for(i=1;i<N;i++){
if(s[i].score>s[max].score)max=i;
if(s[i].score<s[min].score)min=i;
}
printf("%d%.2lf ",s[max].id,s[max].score);
printf("%d%.2lf ",s[min].id,s[min].score);
}
intmain(){
Stus[N];
inti;
doubleans=0;
for(i=0;i<N;i++){
scanf("%d%lf",&s[i].id,&s[i].score);
ans+=s[i].score;
}
printf("%.2lf ",ans/N);
sortScore(s);
}
8. 用c语言编写输入一学生成绩,和相应优秀,良好,不及格信息
#include<stdio.h>
#include<stdlib.h>
#include"windows.h"
intmain(intargc,char*argv[])
{
intcj;
do{
system("cls");
printf("请输入成绩:");
scanf("%d",&cj);
if(cj>0&&cj<101)
{
if(cj>=90&&cj<=100)
printf("
优秀
");
elseif(cj>=70&&cj<=89)
printf("
良好
");
elseif(cj>=60&&cj<=69)
printf("
及格
");
elseif(cj>=0&&cj<=59)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|_RED);
printf("
不及格
");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_BLUE|FOREGROUND_GREEN);
}
}
else
{
printf("
error
");
}
printf("
如果要继续请按y
");
fflush(stdin);
cj=_getch();
}
while(cj=='y');
return0;
}
9. 写一个算法,以伪代码的形式,让用户输入一个学生的名字,他/她在一次考试中获得的分数和这次考试的最高
三非贷款的形式是一个名字就可以了。
10. 【C语言】输入学生姓名和成绩排序
这种一般都是要用到结构体的,不用结构体很难讲名字和成绩这种数据一一对应起来。内
结构体容都是设置一种结构,这个结构中可以放置各个类型的数据,比如说一个人是一个结构体,那么名字,身高,体重,性别,等等都可以作为结构体里的数据。然后用这个结构体来初始化一些人,比如说小明,你将小明的身高,体重,性别等等初始化赋值给这个结构体,就可以使用 . 这个运算符号来调用结构体里成员数据。比如说 小明.姓名 的值就是小明。
根据你的提问,具体代码如下:
首先定义一个结构体的定义:
typedef struct Student
{
char name[20]; //名字
int grade; //成绩
}
初始化各个实例:
struct Student Jack, Tom, Tim;
将各个成员赋值:
Jack.name[20] = Jack;
Jack.grade = 63;
以此类推。
排序的具体方法也不难,自己看看书吧。
使用结构体的好处就是将一组与一个事物相关的数值放在一起,统一的管理和调用。