如何调用函数将多个整数输入到数组中
本文关键字:整数 输入 数组 何调用 调用 函数 | 更新日期: 2023-09-27 17:51:12
所以函数(Named InsertMark)的代码如下。如何调用这个函数将10个人的标记输入到一个名为iMarks的数组中?
static void InsertMark(int [] piMarkArray, int piStuNum)
{
int iMark;
Console.Write("Enter mark for student " + piStuNum + ": ");
iMark = Convert.ToInt32(Console.ReadLine());
while (iMark < 0 || iMark > 100)
{
Console.Write("Not a percentage. Enter again: ");
iMark = Convert.ToInt32(Console.ReadLine());
}
//update array element with this mark
piMarkArray[piStuNum] = iMark;
}
谢谢。
只需将piMarkArray[piStuNum] = iMark;
行移动到while循环中,使用index,如果index不小于数组长度,则退出循环。
int index=0;
while ((iMark < 0 || iMark > 100) && index < piMarkArray.Length) // exit the loop array is full
{
Console.Write("Not a percentage. Enter again: ");
iMark = Convert.ToInt32(Console.ReadLine());
piMarkArray[index++] = iMark; // Here marks are set
}
//update array element with this mark
这里你创建了一个数组,它将保存10
标记,并在循环中填充你的方法:
int[] marks = new int[10];
for(int i = 0; i < marks.Length; i++)
InsertMark(marks, i);
在main函数中你可以有一个代码:
int iMarks[10];
for(int i = 0; i <10; i++ )
InsertMark(iMarks, i)
你在寻找这样的东西吗?
for(int i=0; i<10; i++)
{
InsertMark(iMarks, i);
}
您需要声明一个大小为10的数组:int[] iMarks = new int[10]
,然后在for循环中将数组和计数器值传递给函数。
int[] iMarks = new int[10];
for(int x = 0; x < 10; x++)
InsertMark(iMarks, x);
下面是完整的类/工作示例:
static void Main(string[] args)
{
int[] iMarks = new int[10];
for(int x = 0; x < 10; x++)
InsertMark(iMarks, x);
Console.Read();
}
static void InsertMark(int[] piMarkArray, int piStuNum)
{
int iMark;
Console.Write("Enter mark for student " + piStuNum + ": ");
iMark = Convert.ToInt32(Console.ReadLine());
while(iMark < 0 || iMark > 100)
{
Console.Write("Not a percentage. Enter again: ");
iMark = Convert.ToInt32(Console.ReadLine());
}
//update array element with this mark
piMarkArray[piStuNum] = iMark;
}
}
总是有多种编码方式,这也不例外。我在这里放的是一个典型的c#示例。我能想到至少有两种更好的变体,但这是最接近原始想法的。
首先,一个基本的Student
类:
class Student
{
public int ID;
public int Mark;
}
然后,提示输入
标记的函数int GetMark(int studentID)
{
Console.Write("Enter mark for student " + studentID + ": ");
int mark = Convert.ToInt32(Console.ReadLine());
while (iMark < 0 || iMark > 100)
{
Console.Write("Not a percentage. Enter again: ");
iMark = Convert.ToInt32(Console.ReadLine());
}
return mark;
}
最后,在主程序中,你有一个Student
对象的列表或数组称为AllStudents
,你做:
foreach (Student student in AllStudents)
{
student.Mark = GetMark(student.ID);
}
或者,如果你不使用类,你的循环可以是:
int[] marks = new int[10]; // Or whatever size it needs to be.
for (int i = 0; i < marks.Length; i++)
{
marks[i] = GetMark(i);
}