可以这样实现:
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》 书