偽代碼輸入學生和成績
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;
以此類推。
排序的具體方法也不難,自己看看書吧。
使用結構體的好處就是將一組與一個事物相關的數值放在一起,統一的管理和調用。