|
分類:[.NET 全般]
はじめまして、C#マンと申します。 解けない問題があって、お伺いします。
1.次の成績表の合計点と平均点を求める。 2.平均点で昇順に並べ替えなさい。 3.数学点数で降順に並べ替えなさい。
です。
成績表は 番号 名前 国語 数学 理科 社会 英語 合計点 平均点 1 A 65 71 74 82 97 2 B 84 83 74 64 65 3 C 74 74 78 80 78 4 D 90 90 90 90 90 5 E 87 78 85 60 88 6 F 93 95 94 92 95 です。
こう書いたんですが
using System; using System.Collections.Generic; using System.Text;
namespace ConsoleApplication4 { class Program { class Pro { int num; //番号 char name; //名前 int language; //国語 int math; //数学 int science; //理科 int society; //社会 int eng; //英語 int total; //合計点 int avg; //平均点
public Pro() { } } class St:Pro { public static void Main(string[] args) { //struct grade data[3]; //grade [] data=new grade[3];
Pro [] student = new Pro[6]; int temp; //int[] student = new int[6];
//struct SEISEKI student[6]; //成績表 //struct SEISEKI temp; //臨時変数
//学生の成績入力する。 student[0].num = 1; student[0].name = 'A'; student[0].language = 65; student[0].math = 71; student[0].science = 74; student[0].society = 82; student[0].eng = 97; student[0].total = 0; student[0].avg = 0;
student[1].num = 2; student[1].name = 'B'; student[1].language = 84; student[1].math = 83; student[1].science = 74; student[1].society = 64; student[1].eng = 65; student[1].total = 0; student[1].avg = 0;
student[2].num = 3; student[2].name = 'C'; student[2].language = 74; student[2].math = 74; student[2].science = 78; student[2].society = 80; student[2].eng = 78; student[2].total = 0; student[2].avg = 0;
student[3].num = 4; student[3].name = 'D'; student[3].language = 90; student[3].math = 90; student[3].science = 90; student[3].society = 90; student[3].eng = 90; student[3].total = 0; student[3].avg = 0;
student[4].num = 5; student[4].name = 'E'; student[4].language = 87; student[4].math = 78; student[4].science = 85; student[4].society = 60; student[4].eng = 88; student[4].total = 0; student[4].avg = 0;
student[5].num = 6; student[5].name = 'F'; student[5].language = 93; student[5].math = 95; student[5].science = 94; student[5].society = 92; student[5].eng = 95; student[5].total = 0; student[5].avg = 0;
int sum = 0; for (int i = 0; i < 6; i++) {
sum = sum + student[i].language; sum = sum + student[i].math; sum = sum + student[i].science; sum = sum + student[i].society; sum = sum + student[i].eng;
student[i].total = sum; student[i].avg = sum / 5;
sum = 0; }
Console.WriteLine("問題1 合計点と平均点を求める"); Console.WriteLine("番号 名前 国語 数学 理科 社会 英語 合計点 平均点");
for (int i = 0; i < 6; i++) { Console.WriteLine("{0},{1},{2},{3},{4},{5},{6},{7},{8}", student[i].num, student[i].name, student[i].language, student[i].math, student[i].science, student[i].society, student[i].eng, student[i].total, student[i].avg); }
//test2 for (int j = 0; j < 6; j++) { for (int k = 0; k < 6; k++) { if (student[j].avg < student[k].avg) { temp = student[j]; student[j] = student[k]; student[k] = temp; } } }
Console.WriteLine(); Console.WriteLine("問題2 平均点で昇順"); Console.WriteLine("番号 名前 国語 数学 理科 社会 英語 合計点 平均点"); for (int i = 0; i < 6; i++) { Console.WriteLine("{0},{1},{2},{3},{4},{5},{6},{7},{8}", student[i].num, student[i].name, student[i].language, student[i].math, student[i].science, student[i].society, student[i].eng, student[i].total, student[i].avg); }
//test3 for (int j = 0; j < 6; j++) { for (int k = 0; k < 6; k++) { if (student[j].eng > student[k].eng) { temp = student[j]; student[j] = student[k]; student[k] = temp; } } }
Console.WriteLine("問題3 英語点で降側"); Console.WriteLine("番号 名前 国語 数学 理科 社会 英語 合計点 平均点"); for (int i = 0; i < 6; i++) { Console.WriteLine("{0},{1},{2},{3},{4},{5},{6},{7},{8}", student[i].num, student[i].name, student[i].language, student[i].math, student[i].science, student[i].society, student[i].eng, student[i].total, student[i].avg); }
} } } } 作動できないんです。 どうかよろしくお願いします。
|