C#窗体程序,代码循环生成多个Button,点击其中

C#窗体程序,代码循环生成多个Button,点击其中,第1张

直接把前一个按钮对象保存在当前按钮的Tag属性里面:

 private void Form2_Load(object sender, EventArgs e)

        {

            Button btn1=null;//前一个按钮

            for(int i=1;i<21;i++){

                Button btn = new Button();

                btnText = "button" + i;

                btnName = "button" + i;

                btnClick += new EventHandler(btn_Click);

                btnSize = new SystemDrawingSize(80,20);

                btnTag = btn1;

                btnLocation = new Point(i  30, i  20);

                thisControlsAdd(btn);

                btn1 = btn;

            }

           

        }

        void btn_Click(object sender, EventArgs e) { 

            Button btn = sender as Button;

            MessageBoxShow(btnNameToString());

            if (btnTag != null)

            {

                //d出前一个按钮的位置信息

                Button btn1 = btnTag as Button;

                MessageBoxShow("X:"+btn1LocationX +" Y:"+ btn1LocationX);

            }

        }

利用循环结构编程序求1+2+3+······+n的和并输出,其中n由键盘输入 #include "stdioh"

void main()

{

int n,s,i;

s=0;

scanf("%d",&n);

for(i=1;i<=n;i++)

s+=i;

printf("%d\n",s);

}

编程:请分别用do while、while两种循环结构编程计算: 1!+2!+3!++n! , n的值由键盘输入。

#include<stdioh>

int fun(int a)

{

int i=1,sum=1;

while(i<=a)

{

sum=i;

i++;

}

return sum;

}

main()

{

int n,i=1,sum=0;

printf("请输入n的值:");

scanf("%d",&n);

while(i<=n)

{

sum+=fun(i);

i++;

}

printf("结果是:%d",sum);

}

这是while循环。do while就自己改造了。

C语言:请分别用三种循环结构编程计算: 1!+2!+3!++n! , n的值由键盘输入。

C语言#include<stdioh>

void main()

{

int n=1,i,sum=0,num=1;

do

{

num=1;

for(i=n;i>0;i--)

num=i;

sum=sum+num;

n++;

} while(n<=10);

printf("(1->10)! is %d\n",sum);

}

C++编写#include<iostream>

using namespace std;

void main()

{

int n=1,i,sum=0,num=1;

while(n<=10)

{

num=1;

for(i=n;i>0;i--)

num=i;

sum+=num;

n++;

}

cout<<sum<<endl;

}

vf 编程 利用子程序求1+1/2+1/3+1/n的值,其中n由键盘输入

input "请输入N" to n

s=0

for i=1 to n

s=s+1/n

endfor

求编程,谢谢。 由键盘输入N,编程求M=N! 其中N=123N

程序的实现的是这样的,先设置一个文本框,用于n值的出入。再设置一个命令按钮用于求解。代码如下:

Private Sub Command1_Click()

Dim n As Integer, i As Integer, m As Double

m = 1

n = CInt(Text1Text)

If n <= 0 Then

Text1Text = "0"

Else

For i = 1 To n

m = m i

Next i

Text1Text = m

End If

End Sub

程序又经过本人调试,程序正常。

编程计算s=1234N(N由键盘输入(1-9)(用汇编程序)

汇编和C++不一样的

首先中断读入数字

然后用LOOP循环累乘,输出结果

利用c语言编程:求1!/1+2!/(1+2)+3!/(1+2+3)+……+n!/(1+2+3+……+n)的值,其中n由键盘输入

#include<stdioh>void main(){ int i,n,he=0,ji=1; double sum=0; scanf("%d",&n); for(i=1;i<=n;i++) { he+=i; ji=i; sum+=(double)ji/he; } printf("%lf\n",sum);}

C语言编程题:S=1!+2!+3!+4!+5!+…+n! n由键盘输入 求循环过程

这是我们以前做过的课后习题 #include<stdioh> void main() { int n,i; float s=0,t=1; scanf("%d",&n); for(i=1;i<=n;i++) { t=i; s+=t; } printf("1+2!+3!+n!=%f\n",s); }

编程求n!,n由键盘输入

这是之前用C 写过的

#include<stdioh>

#include<memoryh>main(){int f[10000],a[10000],i,j,k,t,n;while(scanf("%d",&n)!=EOF){memset(f,0,sizeof(f));f[0]=1;for(i=1;i<n+1;i++){memset(a,0,sizeof(a)); for(t=0;t<10000;t++){ f[t]=i;if(t!=0) f[t]+=a[t-1]; a[t]=f[t]/10;f[t]%=10;}}for(i=9999;i>=0;i--){if(f[i]!=0){k=i;break;}}for(i=k;i>=0;i--){printf("%d",f[i]);}printf("\n");}}

等下补上一个用Java 写的

表示一个数字,使用科学计数法。如500表示IntegerString(5,2)

public class IntegerString { private int number = 0;数字 private int length = 0;10的length次方 / Creates a new instance of IntegerString / public IntegerString(int number,int length) { thisnumber = number; thislength = length; } public int getNumber(){ return thisnumber; } public int getLength(){ return thislength; }}

/

两个数相乘,结果用两个数来表示,一个是高位,一个是低位

/

public class MultiplyResult { private IntegerString high; private IntegerString low; / Creates a new instance of MultiplyResult / public MultiplyResult(IntegerString a,IntegerString b) { int result = agetNumber()bgetNumber(); int length = agetLength()+bgetLength(); if(result>=10){ high = new IntegerString(result/10,length+1); low = new IntegerString(result%10,length); }else{ high = new IntegerString(result,length); low = new IntegerString(0,length-1); } } public String toString(){ 打印方便,以便调试 StringBuffer = new StringBuffer(); append(highgetNumber()); append(lowgetNumber()); for(int i=0;i<lowgetLength();i++) append("0"); return toString(); } public IntegerString getHigh(){ return high; } public IntegerString getLow(){ return low; } }

public class Factorial{

由大到小,由高到低,将一个字符的数表示成科学计数法private IntegerString[] getIntegerString(String str){ IntegerString[] is = new IntegerString[strlength()]; for(int i=0;i<strlength();i++){ char ch = strcharAt(i); int number = CharactergetNumericValue(ch); is[i] = new IntegerString(number,strlength()-1-i); } return is;}

获得数的最高位 private int getMaxLength(IntegerString[] a){ int max = 0; for(int i=0;i<alength;i++){ if(a[i]getLength()>max) max = a[i]getLength(); } return max; }

一个数与单个数字相乘 private IntegerString[] singleMultiply(IntegerString[] old,IntegerString gene){ MultiplyResult[] mr = new MultiplyResult[oldlength]; for(int i=0;i<oldlength;i++){ mr[oldlength-1-i] = new MultiplyResult(old[i],gene); Systemoutprintln(mr[oldlength-1-i]); } mr是从最低位到最高位 javautilArrayList arrays = new javautilArrayList(); int carry = 0; int maxLength = mr[mrlength-1]getHigh()getLength(); 获得最高位的长度 for(int i=0;i<=maxLength;i++){从个位到最高位一次加,如果有进位,那么存放到carry中 int number = carry; for(int j=0;j<mrlength;j++){ if(mr[j]getLow()getLength()==i) { number+=mr[j]getLow()getNumber(); } if(mr[j]getHigh()getLength()==i){ number+=mr[j]getHigh()getNumber(); } } if(number>=10){ 如果有进位,取余数,如果没有,取本身 arraysadd(new IntegerString(number%10,i)); carry=1; }else{ arraysadd(new IntegerString(number,i)); carry=0; } } if(carry==1){ 如果还有进位,那么加入到最高位 arraysadd(new IntegerString(carry,maxLength+1)); } IntegerString[] results = new IntegerString[arrayssize()]; javautilIterator ii = arraysiterator(); int index=0; while(iihasNext()){ results[index++] = (IntegerString)iinext(); } return results; }

private void print(IntegerString[] a){ Systemoutprintln(getNumberic(a)); } 将数字由IntegerString[]数组转换成字符串 private String getNumberic(IntegerString[] a){ StringBuffer = new StringBuffer(); int max = getMaxLength(a); for(int i=0;i<=max;i++){ boolean isFind = false; for(int j=0;j<alength;j++){ if(a[j]getLength()==i){ insert(0,a[j]getNumber()); isFind = true; break; } } if(!isFind){ insert(0,0); } } return toString(); }

两个数相加 private IntegerString[] add(IntegerString[] a,IntegerString[] b){ if(a==null) return b; if(b==null) return a; javautilArrayList arrays = new javautilArrayList(); int aMax = getMaxLength(a); int bMax = getMaxLength(b); int max = aMax>bMaxaMax:bMax; int carry = 0; for(int i=0;i<=max;i++){ for(int j1=0;j1<alength;j1++){ if(a[j1]getLength()==i) carry+=a[j1]getNumber(); } for(int j2=0;j2<blength;j2++){ if(b[j2]getLength()==i) carry+=b[j2]getNumber(); } if(carry>0){ if(carry>=10){ arraysadd(new IntegerString(carry%10,i)); carry=1; if(i==max){ arraysadd(new IntegerString(carry,i+1)); } }else{ arraysadd(new IntegerString(carry,i)); carry=0; } }else{ arraysadd(new IntegerString(0,i)); carry=0; } } IntegerString[] results = new IntegerString[arrayssize()]; javautilIterator ii = arraysiterator(); int index=0; while(iihasNext()){ results[index++] = (IntegerString)iinext(); } return results; }

两个数相乘

private String stringMultiply(String a,String b){ IntegerString[] ais = thisgetIntegerString(a); IntegerString[] bis = thisgetIntegerString(b); IntegerString[] result = null; for(int i=0;i<bislength;i++){ IntegerString[] tmp = thissingleMultiply(ais,bis[i]); result = add(result,tmp); } return thisgetNumberic(result); }

打印N的阶乘

public void printFactorial(int n){

String total = "1"; int n=100; for(int i=1;i<=n;i++){ total = stringMultiply(i+"",total); }

Systemoutprintln(total);

}

}

编程计算1!+3!+5!+…+(2N-1)!的值,其中N值由键盘输入

int fun(int n)

{

int mult = 1;

while(n >= 1)

{

mult = mult n;

n--;

}

return mult;

}

void main()

{

int sum = 0;

int i;

int n;

scanf("%d",&n);

for(i = 1;i <= 2n-1; i = i + 2)

{

sum = sum + fun(n);

}

printf("%d",sum);

}

程序代码如下(已运行):

#include"iostreamh"

#include"mathh"

void main()

{

double a[101];//定义a[]为了后面输出格式控制

int i=1;

//用for循环实现

for(i=1;i<=100;i++)

{

a[i]=pow(i,2);

cout<<a[i]<<" ";

if(i%10==0) //控制每行输出10个数

cout<<endl;

}

cout<<endl;

//用while循环实现

i=1;

while(i<=100)

{

a[i]=pow(i,2);

cout<<a[i]<<" ";

if(i%10==0)

cout<<endl;

i++;

}

cout<<endl;

//用do…while循环实现

i=1;

do

{ a[i]=pow(i,2);

cout<<a[i]<<" ";

if(i%10==0)

cout<<endl;

i++;

}while(i<=100);

cout<<endl;

}

循环可以使用while wend:

Dim objws

Set objws=WScriptCreateObject("wscriptshell")

while true

wscriptsleep 5000

objwsRUN "1bat"

wend

注意:上面的代码会进入死循环,即会一直运行。

添加两个Timer控件(Timer1和Timer2),再添加一个Label1,然后复制→粘贴,点击是,创建控件数组,也就变成4个Label了。

参考代码如下:

Dim

i

As

Integer,

k

As

Integer

Private

Sub

Command1_Click()

Timer2Enabled

=

True

Timer1Enabled

=

False

End

Sub

Private

Sub

Form_Load()

Timer1Enabled

=

False

Timer2Enabled

=

False

Timer1Interval

=

600

Timer2Interval

=

1000

End

Sub

Private

Sub

Timer1_Timer()

lblDisp(i)Caption

=

StrConv(i

+

1,

vbWide)

i

=

i

+

1

If

i

=

4

Then

Timer1Enabled

=

False

End

Sub

Private

Sub

Timer2_Timer()

lblDisp(k)Caption

=

k

+

1

k

=

k

+

1

If

k

=

4

Then

Timer2Enabled

=

False:

Timer1Enabled

=

True

End

Sub

以上就是关于C#窗体程序,代码循环生成多个Button,点击其中全部的内容,包括:C#窗体程序,代码循环生成多个Button,点击其中、利用循环结构编程序求1+2+3+······+n的和并输出,其中n由键盘输入、用C语言程序三种循环语句分别编写程序,求1-100的平方值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9353954.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存