c#初学求指导
我是刚从C过渡到C#的,在字段定义的时候可能没有面向对象的严谨,请指导
以下编码是自己根据书中的练习题编制的,求优化!
题目:
用out参数实现以下功能。
有一群人同乘一条船,船漏,必须有人跳入水中减轻重量才能保持船不沉没,大家决定所有人围成一圈报数,报到7的人跳到水中,该人的下一人继续从1开始报数,依旧是报到7的跳入水中,如此重复直到所有人入水为止。
实现各位置入水次序。
自己的编码:
以下编码是自己根据书中的练习题编制的,求优化!
题目:
用out参数实现以下功能。
有一群人同乘一条船,船漏,必须有人跳入水中减轻重量才能保持船不沉没,大家决定所有人围成一圈报数,报到7的人跳到水中,该人的下一人继续从1开始报数,依旧是报到7的跳入水中,如此重复直到所有人入水为止。
实现各位置入水次序。
自己的编码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace ch5_6
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public class people
{
public void getjumpnum(int personnum, out int[] jumpnum)
{
jumpnum = new int[personnum+1];//定义personnum数组
int i,n=0, flag=0,k=1;
int[] j = new int[personnum + 1];//定义局部变量
for (i = 1; i <=personnum; i++)
{
j[i] = 1;//表示该位置上未跳水
}
for (i = 1; i <= personnum+1; i++)
{
if (i == personnum+1)//当i超过人数,给i初始化1
i = 1;
flag += j[i];
if (flag == 7)
{ n++; j[i] = 0; jumpnum[k++] = i; flag = 0; }// j[i] = 0表示该位置上跳水, jumpnum[k++] = i记录位置,flag初始化
if (n == personnum)//n来控制循环
break ;
}
}
}
private void button1_Click(object sender, EventArgs e)
{
int i, personnum;
int[] p;
people jump = new people();
personnum = Convert.ToInt16(textBox1.Text);
jump.getjumpnum(personnum, out p);
for (i= 1; i <= personnum;i++ )
{
textBox2.Text = textBox2.Text + " " + p[i].ToString();
}
}
}
}
...全文
相关推荐
C#初学者算法小例子:求1+2+3+.....100的和
该项目演示了如何使用C#语言通过for循环计算1到100的所有整数之和。程序利用简单的累加逻辑,在控制台中输出最终结果,适合初学者理解基本语法与流程控制结构。
C#求圆的面积、周长
《初学者》已知圆的直径,用C#求圆的面积和周长。
C# 矩阵运算(加法,乘法,求逆....)非常全,很权威
在C#编程语言中,矩阵运算是数学计算和科学应用中的关键部分,特别是在图形学、物理学、工程学以及机器学习等领域。本资源提供了一个全面且权威的C#矩阵运算库,包括矩阵的加法、乘法和求逆等操作。
求100以内的素数.zip c#
总的来说,这个程序为学习C#语言、理解和实现素数检测算法提供了实践平台,对于初学者来说是一次宝贵的学习机会。通过阅读和分析源代码,不仅可以掌握C#的基本语法,还能深入了解算法思想,提高编程能力。
求阶乘-c#编写的求阶乘的程序
总的来说,"求阶乘-c#编写的求阶乘的程序"是一个很好的学习资源,它可以帮助初学者巩固基础,锻炼逻辑思维,同时也能让他们接触到递归这种高级编程技术。


