C#编程高手来看下~~

来源:百度知道 编辑:UC知道 时间:2024/06/22 15:57:38
帮我看看下面的代码有什么问题,计算出来的结果总是有问题……
我想用这个算学分,就是
(科目1*学分+科目2*学分+……+科目N*学分)/学分总和

我想完成这个这个过程,下面的代码哪里有错误啊,改不明白了……
先谢谢啦~~

using System;
using System.Collections.Generic;
using System.Text;

namespace AverageCalculator
{
class Program
{
static void Main(string[] args)
{
int result;
int temp;
int score=0;
int num=0;
int keMuShu;//定义科目数

Console.WriteLine("请输入总共的科目数:");
keMuShu = int.Parse(Console.ReadLine());

for (int i = 1; i <=keMuShu; i++)
{
Console.WriteLine("请输入第{0}科的成绩:", i);
score=int.Parse(Console.ReadLine());
Console.WriteLine("对应的学分:");
num = int.Parse(Console.ReadLine());
tem

int fenMu = 0;
int fenZi = 0;
这两个变量放到循环外面去定义,如果放在循环里面,每次都会重新初始化为0,总分数不会累加。

写的有点乱
我看看 ,你稍微比较下有什么区别吧···看看结果对不?

static void Main(string[] args)
{
int result;
int temp;
int score = 0;
int num = 0;
int keMuShu;//定义科目数
int fenMu = 0;
int fenZi = 0;
Console.WriteLine("请输入总共的科目数:");
keMuShu = int.Parse(Console.ReadLine());

for (int i = 1; i <= keMuShu; i++)
{
Console.WriteLine("请输入第{0}科的成绩:", i);
score = int.Parse(Console.ReadLine());
Console.WriteLine("对应的学分:");
num = int.Parse(Console.ReadLine());
temp = score * num;//计算各科分数和学分乘积

fenZi = fenZi + temp;//各科分数和学分乘积累加
fenMu = fenMu + num;//学分累加
}
result = fenZi / fenMu;//求平均分
Console.WriteLine("你的总平均分是{0}", result);
Console.WriteLine("本段程序又Liang独家编写!谢谢使用!");
Console.ReadLine();
}