易语言超级列表框1的成员怎么按顺序取5次超级列表框2的内容?是易语言是易语言

新手学堂036

易语言超级列表框1的成员怎么按顺序取5次超级列表框2的内容?是易语言是易语言,第1张

可以这样实现:

1 声明两个超级列表框变量,比如slb1和slb2

2 使用for循环遍历slb1的成员:

for i=1 to 超级列表框1成员数

for j=1 to 5

取超级列表框2的第j个成员给某变量,比如tmp

//使用slb1的当前成员显示或存储tmp的值

next j

next i

3 具体代码如下:

slb1=超级列表框1 '声明第一个超级列表框

slb2=超级列表框2 '声明第二个超级列表框

for i=1 to slb1成员数

for j=1 to 5

tmp=slb2取值(j) '取超级列表框2第j个成员的值给tmp

slb1显示值(i,tmp) '使用slb1的第i个成员显示tmp的值

next j

next i

这段代码的工作流程是:

首先取slb1的第一个成员,然后循环取slb2的第1到5个成员,并使用slb1的第一个成员显示这5个值。

然后取slb1的第二个成员,循环取slb2的第6到10个成员,并使用slb1的第二个成员显示这5个值。

以此类推,直到slb1的所有成员遍历完成。

这样就实现了你要的效果:slb1的每个成员按顺序取5次slb2的内容。

请让我知道如果您有任何其他问题。

#include "stdioh"

#include "stdlibh"

int main()

{

    int i,j,maxs,shuzu[5][5];

    for (i=0;i<5;i++)

{

        for (j=0;j<5;j++)

          {  scanf("%d",&shuzu[i][j]);

//shuzu[i][j]=rand()%100;

printf("%4d",shuzu[i][j]);

}

printf("\n");

}

    maxs=shuzu[0][0];

    for (i=0;i<5;i++)

    {

        if (maxs<shuzu[i][i])

            maxs=shuzu[i][i];

        if (maxs<shuzu[i][5-i])

            maxs=shuzu[i][5-i];

    }

    printf("\n对角线的最大值是:%d\n",maxs);

return 0;

}

#include <stdioh>

void main()

{

int m, n, a[5][5], min, i = 0, j = 0;

for(m=0; m<5; m++)

for(n=0; n<5; n++)

scanf("%d", &a[m][n]);

min = a[0][0];

for(m=0; m<5; m++)

for(n=0; n<5; n++)

{

if(min>a[m][n])

{

min = a[m][n];

i = m;

j = n;

}

}

printf("%d, %d, %d", min, i ,j);

}

#include <stdioh>

void main()

{

int a[5][5];

int i,j;

int min,max,k1,k2,l1,l2;

for(i=0;i<5;i++)

for(j=0;j<5;j++)

scanf("%d,",&a[i][j]);

for(i=0;i<5;i++)

{

for(j=0;j<5;j++)

printf("%d,",a[i][j]);

printf("\n");

}

min=a[0][0];

max=a[0][0];

k1=0;k2=0;l1=0;l2=0;

for(i=0;i<5;i++)

for(j=0;j<5;j++)

{

if(a[i][j]<min){min = a[i][j];k1=i;k2=j}

if(a[i][j]>max){max = a[i][j];l1=i;l2=j}

}

printf("min = a[%d][%d] = %d,max = a[%d][%d] = %d\n"k1,k2,min,l1,l2,max);

}

输入时要输一个数打一个半角的逗号,具体可能还需要调整因为我这里没有VC或者TC来测试,但应该没有大的问题了吧

#include <stdioh>

void main()

{

int a[5][5]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25},i,j,sum1=0,sum2=0;

for (i=0;i<5;i++)

{

for(j=0;j<5;j++)

{

if(i==j)

sum1=sum1+a[i][j];

if(i+j==4)

sum2=sum2+a[i][j];

}

}

printf("%d\n%d\n",sum1,sum2);

}

我需要告诉你的是这个题目没有任何意义。不同的编译器在处理++的时候有不同的方案。所以两个不同的平台就可能有两个不同的答案。这样的题目没必要看。

比如说有++的表达式为

int a=0;

int b=(a++) +a;//这种的就不要看,因为有的编译器是 b=0+0( a在赋值完b后再加1)

有的编译器则是b=0+1 (a在用了一次后就加1)。

而且对于编译器 同一个变量 哪个先执行也不能确定。

比如 int a=0;

int b= (a+1)+(a++);这个也是不确定的。b也许是b= (0+1)+(1);也许是

b=(1+1)+(1);因为不同编译器对于加号 平等的两边哪个先执行也是不确定的。

总结就是 当一个变量在表达式中多次出现的时候,不要将增量或减量运算符运用在里面。

具体的可以看《C primer plus》 书