1.你說的這個有點問題,是要只輸出一次,也可做,
目前成都創(chuàng)新互聯(lián)已為成百上千的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、網(wǎng)站改版維護、企業(yè)網(wǎng)站設(shè)計、萬年網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
2.但問題是如果你數(shù)組還有就看不到了!這個做法有點問題
1.解決方法:
循環(huán)前面加入一個變量 dim Temp as Double=0
For i = 0 To 9
If score(i) avg and score(i)temp Then
TextBox3.Text = TextBox3.Text score(i) " "
if score(i)=avg then
temp=score(i)
end if
End If
Next
Sub?Main()
Dim?rand?As?New?Random
Dim?arr(15)?As?Integer
For?I?As?Integer?=?0?To?14
arr(I)?=?rand.Next(-200,?200)
Console.Write("{0}{1}",?arr(I),?vbTab)
If?(I?+?1)?Mod?5?=?0?Then
Console.WriteLine()
End?If
Next
Console.ReadLine()
End?Sub
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication42
{
class Program
{
static void Main(string[] args)
{
count = 0;
String[] s = Console.ReadLine().Split(' ');
int[] array = new int[s.Length];
for (int i = 0; i s.Length; i++)
{
array[i] = Convert.ToInt32(s[i]);
}
int m = Convert.ToInt32(Console.ReadLine());
Listint arraylist = new Listint();
arraylist.AddRange(array);
Output(arraylist, m, null);
Console.WriteLine("共有" + count.ToString() + "個");
Console.ReadKey();
}
static int count = 0;
static void Output(Listint array, int m, Listint output)
{
if (output == null)
output = new Listint();
if (m == 0)
{
for (int i = 0; i output.Count; i++)
{
Console.Write(output[i].ToString() + " ");
}
Console.Write("\r\n");
count++;
return;
}
else
{
for (int i = 0; i array.Count; i++)
{
Listint output2 = new Listint();
output2.AddRange(output.ToArray());
output.Add(array[i]);
Listint array2 = new Listint();
array2.AddRange(array.ToArray());
for (int j = 0; j = i; j++)
{
int number = array[j];
array2.Remove(number);
}
Output(array2, m - 1, output);
output.Clear();
output.AddRange(output2.ToArray());
}
}
}
}
}
額,沒注意VB,用C#寫的。。。
輸出了的,你新建一個C#控制臺程序,把這段貼進去,運行一下就知道了
先輸入一組字符串,然后輸入一個整數(shù),就會把所有的組合輸出出來
我把這段轉(zhuǎn)成VB再發(fā)一次吧
Module Module1
Sub Main()
count = 0
Dim s As String() = Console.ReadLine().Split(" ")
Dim array(0 To s.Length - 1) As Integer
For i As Integer = 0 To s.Length - 1
array(i) = Convert.ToInt32(s(i))
Next
Dim m As Integer = Convert.ToInt32(Console.ReadLine())
Dim arraylist As New List(Of Integer)
arraylist.AddRange(array)
Print(arraylist, m, Nothing)
Console.WriteLine("共有" + count.ToString() + "個")
Console.ReadKey()
End Sub
Sub Print(ByRef array As List(Of Integer), ByVal m As Integer, ByRef output As List(Of Integer))
If output Is Nothing Then
output = New List(Of Integer)()
End If
If m = 0 Then
For i As Integer = 0 To output.Count - 1
Console.Write(output(i).ToString() + " ")
Next
Console.Write(vbCrLf)
count = count + 1
Return
Else
For i As Integer = 0 To array.Count - 1
Dim array2 As New List(Of Integer)
Dim output2 As New List(Of Integer)
output2.AddRange(output.ToArray())
output.Add(array(i))
array2.AddRange(array.ToArray())
For j As Integer = 0 To i
Dim number As Integer = array(j)
array2.Remove(number)
Next
Print(array2, m - 1, output)
output.Clear()
output.AddRange(output2.ToArray())
Next
End If
End Sub
Dim count As Integer = 0
End Module
你直接傳一個數(shù)組進去,而且是一個結(jié)構(gòu)體數(shù)組,array.sort怎么知道根據(jù)結(jié)構(gòu)中的哪一個屬性進行排序?放一個c#的代碼你看看,VB和C#很相似的
class Program
{
static void Main(string[] args)
{
People[] p = new People[3]
{
new People{name="張三"},
new People{name="李四"},
new People{name="張二名"}
};
//重點傳一個實現(xiàn)了IComparer接口的類進去,告訴Array.Sort怎么排序
Array.Sort(p, new PeopleCompare());
foreach (var item in p)
{
Console.WriteLine(item.name);
}
Console.ReadKey();
}
}
//People結(jié)構(gòu)體,換成類一樣的
public struct People
{
public string name { get; set; }
}
//實現(xiàn)了IComparer接口的類
public class PeopleCompare : IComparer
{
public int Compare(object x, object y)
{
People p1 = (People)x ;
People p2 = (People)y;
return p1.name.CompareTo(p2.name);
}
}
Private Sub Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Click
Dim a(15) As Integer
Dim i As Integer
Dim tmpStr As String
Randomize()
For i = 0 To a.Length - 1
a(i) = Int(100 * Rnd() + 1)
Next
TextBox1.Text = ""
tmpStr = ""
For i = 0 To a.Length - 1
tmpStr = tmpStr a(i) " "
'在Textbox中每行顯示5個
If (i + 1) Mod 5 = 0 Then
TextBox1.AppendText(tmpStr vbCrLf)
tmpStr = ""
End If
Next
End Sub
先在: My Project 中引用 Microsoft Excel 11.0 Object Library(這個是Excel 2003,Excel 2007 是12.0),之后在窗體代碼中加入相關(guān)內(nèi)容就行了。以下是一個窗體的簡單實例
假設(shè)在C盤根文件夾中有:TEST.xls
Public Class 引用EXCEL窗體
Private A() As String = {"A", "B", "CC", "C", "D"}
Private B() As Integer = {1, 22, 34, 50, 16, 99, 14}
Private excelapp As New Microsoft.Office.Interop.Excel.Application
Private excelworkbook As Microsoft.Office.Interop.Excel.Workbook
Private Sub 引用EXCEL_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim Index As Integer
excelworkbook = excelapp.Workbooks.Open("c:\test.xls")
excelapp.Application.Workbooks.Add(True)
excelapp.Cells(1, 1) = "數(shù)組:A"
For Index = 0 To UBound(A)
excelapp.Cells(Index + 2, 1) = A(Index)
Next
excelapp.Cells(1, 2) = "數(shù)組:B"
For Index = 0 To UBound(B)
excelapp.Cells(Index + 2, 2) = B(Index)
Next
excelapp.Visible = True
End Sub
End Class
運行結(jié)果:
數(shù)組:A 數(shù)組:B
A 1
B 22
CC 34
C 50
D 16
99
14