vb手机号码抽奖程序_vb抽奖小程序_vb60抽奖程序(4)

电脑杂谈  发布时间:2017-02-24 04:05:29  来源:网络整理

else

printf('the number is not found!/n');

}

七、插入法

把一个数插到有序数列中,插入后数列仍然有序

基本思想:n个有序数(从小到大)存放在数组a(1)—a(n)中,要插入的数x。首先确定x插在数组中的位置P;(可由以下语句实现)

#define N 10

void insert(int a[],int x)

{ int p, i;

p=0;

while(x>a[p]&&p

p++;

for(i=N; i>p; i--)

a[i]=a[i-1];

a[p]=x;

}

main()

{ int a[N+1]={1,3,4,7,8,11,13,18,56,78}, x, i;

for(i=0; i

printf('/nInput x:');

scanf('%d', &x);

insert(a, x);

for(i=0; i<=N; i++) printf('%d,', a[i]);

printf('/n');

}

八、矩阵(二维数组)运算

(1)矩阵的加、减运算

C(i,j)=a(i,j)+b(i,j) 加法

C(i,j)=a(i,j)-b(i,j) 减法

(2)矩阵相乘

(矩阵A有M*L个元素,矩阵B有L*N个元素,则矩阵C=A*B有M*N个元素)。矩阵C中任一元素 (i=1,2,…,m;j=1,2,…,n)

#define M 2

#define L 4

#define N 3

void mv(int a[M][L], int b[L][N], int c[M][N])

{ int i, j, k;

for(i=0; i

for(j=0; j

{ c[i][j]=0;

for(k=0; k

c[i][j]+=a[i][k]*b[k][j];

}

}

main()

{ int a[M][L]={{1,2,3,4},{1,1,1,1}};

int b[L][N]={{1,1,1},{1,2,1},{2,2,1},{2,3,1}}, c[M][N];

int i, j;

mv(a,b,c);

for(i=0; i

{ for(j=0; j

printf('M', c[i][j]);

printf('/n');

}

}

(3)矩阵传置

例:有二维数组a(5,5),要对它实现转置,可用下面两种方式:

#define N 3

void ch1(int a[N][N])

{ int i, j, t;

for(i=0; i

for(j=i+1; j

{ t=a[i][j];

a[i][j]=a[j][i];

a[j][i]=t;

}

}

void ch2(int a[N][N])

{ int i, j, t;

for(i=1; i

for(j= 0; j

{ t=a[i][j];

a[i][j]=a[j][i];

a[j][i]=t;

}

}

main()

{ int a[N][N]={{1,2,3},{4,5,6},{7,8,9}}, i, j;

ch1(a);

for(i=0; i

{ for(j=0; j

printf('M', a[i][j]);

printf('/n');

}

}

(4)求二维数组中最小元素及其所在的行和列

基本思路同一维数组,可用下面程序段实现(以二维数组a[3][4]为例):

‘变量max中存放最大值,row,column存放最大值所在行列号

#define N 4

#define M 3

void min(int a[M][N])


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-34162-4.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...