标题:[求助]写程序碰到个问题
只看楼主
hjl2006404
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2010-10-4
结帖率:50%
 问题点数:0 回复次数:5 
[求助]写程序碰到个问题
想写个简单的c#程序,该程序实现的是由用户提供数字,求其平均数或总数,可以选择求哪种,但在用户选择出错的时候可以实现请求再输入,下面是我写的程序,但是不能实现在输入功能,求帮助!!
using System;
using System.Text;
class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("请输入你想要得数组的个数:");
        int num = int.Parse(Console.ReadLine());
        int[] A = new int[num];
        Console.WriteLine("请输入你想要计算的数字(整数)");
        for (int i = 0; i < num; i++)
        {
            A[i] = int.Parse(Console.ReadLine());
        }
        Console.WriteLine("请选择你所要进行的操作\n" + "+表示求和\n" + "/表示平均数");
        char operate = Convert.ToChar(Console.ReadLine());
        do
        {
            switch (operate)
            {
                case '+':
                    {
                        int all = 0;
                        for (int i = 0; i < num; i++)
                        {
                            all += A[i];
                        }
                        Console.WriteLine("所求数字之和为:{0}", all);
                        break;
                    }
                case '/':
                    {
                        int all = 0;
                        for (int i = 0; i < num; i++)
                        {
                            all += A[i];
                        }
                        Console.WriteLine("所有数字的平均数为:{0}", all / num);
                        break;
                    }
                default:
                    {
                        break;
                    }

            }
            Console.WriteLine("请重新选择操作");
        } while (operate != '+' || operate != '/');
        Console.ReadKey();
    }
}
搜索更多相关主题的帖子: class 平均数 用户 
2010-10-05 01:13
hjl2006404
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2010-10-4
得分:0 
终于将问题给解决了,知道怎么整这个问题了,修改后的代码:
using System;
using System.Text;
class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("请输入你想要得数组的个数:");
        int num = int.Parse(Console.ReadLine());
        int[] A = new int[num];
        Console.WriteLine("请输入你想要计算的数字(整数)");
        for (int i = 0; i < num; i++)
        {
            A[i] = int.Parse(Console.ReadLine());
        }
        Console.WriteLine("你所想要计算的数字是这些:");
        foreach (int s in A)
        {
            Console.Write(s);
        }
        Lab:
        Console.WriteLine("\n请选择你所要进行的操作\n" + "+表示求和\n" + "/表示平均数");
        char operate = Convert.ToChar(Console.ReadLine());
        if (operate == '+' || operate == '/')
        {
            switch (operate)
            {
                case '+':
                    {
                        int all = 0;
                        for (int i = 0; i < num; i++)
                        {
                            all += A[i];
                        }
                        Console.WriteLine("所求数字之和为:{0}", all);
                        break;
                    }
                case '/':
                    {
                        int all = 0;
                        for (int i = 0; i < num; i++)
                        {
                            all += A[i];
                        }
                        Console.WriteLine("所有数字的平均数为:{0}", all / num);
                        break;
                    }
                default:
                    {
                        break;
                    }

            }
        }
        else
        {
            Console.WriteLine("请再次选择你所要进行的操作");
                goto Lab;
        }
        
       Console.ReadKey();
    }
}
2010-10-05 08:25
冰点小爱
Rank: 2
来 自:吉林长春
等 级:论坛游民
帖 子:39
专家分:49
注 册:2010-3-2
得分:0 
goto不建议用的呀。今天晚了。明天我把重复输入的发上来。我先说一下,直接可以用While循环呀。
用一个字符控制循环,当输入的字符等于继续输入的条件的时候,继续。否则结束。
2010-10-07 21:27
hjl2006404
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2010-10-4
得分:0 
我原先也是打算用while循环来实现的,但是使用时达不到标准,所以我改用了goto语句...
2010-10-08 10:47
wangnannan
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:87
帖 子:2545
专家分:9359
注 册:2007-11-3
得分:0 
回复 3楼 冰点小爱
goto使用一直是受争议的 并不代表不建议使用 个人觉得要视情况而定.

[ 本帖最后由 wangnannan 于 2010-10-8 10:59 编辑 ]

出来混,谁不都要拼命的嘛。 。拼不赢?那就看谁倒霉了。 。有机会也要看谁下手快,快的就能赢,慢。 。狗屎你都抢不到。 。还说什么拼命?
2010-10-08 10:58
jedypjd
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:9
帖 子:1096
专家分:4969
注 册:2009-7-27
得分:0 
        static void Main(string[] args)
        {
            Console.WriteLine("请输入你想要得数组的个数:");
            int num = int.Parse(Console.ReadLine());
            int[] A = new int[num];
            Console.WriteLine("请输入你想要计算的数字(整数)");
            for (int i = 0; i < num; i++)
            {
                A[i] = int.Parse(Console.ReadLine());
            }
            Console.WriteLine("你所想要计算的数字是这些:");
            foreach (int s in A)
            {
                Console.Write(s);
            }
            
        

            while(true)
            {
                Console.WriteLine("\n请选择你所要进行的操作\n" + "+表示求和\n" + "/表示平均数");
                char operate = Convert.ToChar(Console.ReadLine());


                if (operate == '+')
                {
                    int all = 0;
                    for (int i = 0; i < num; i++)
                    {
                        all += A[i];
                    }
                    Console.WriteLine("所求数字之和为:{0}", all);
                    break;
                }
                else if (operate == '/')
                {
                    int all = 0;
                    for (int i = 0; i < num; i++)
                    {
                        all += A[i];
                    }
                    Console.WriteLine("所有数字的平均数为:{0}", all / num);
                    break;
                }


            }

            Console.ReadKey();

        }

天涯无岁月,歧路有风尘,百年浑似醉,是非一片云
2010-10-08 12:07



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-322004-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.395449 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved