当前位置:
文档之家› 数据结构-实验三数组的建立和使用
数据结构-实验三数组的建立和使用
实验3 数组的建立和使用 实验目的
1.掌握C语言中数组的类型定义。 2.掌握数组的建立和使用的特点。
实验内容
程序1
在计算机上以字符串的形式输入了两个任意长的整数,编写求这两 个整 数的积的程序。
程序2
若矩阵Am×n中的某个元素aij是第i行的最小值,同时又是第j列中的 最大值,则称此元素为该矩阵中的一个马鞍点。假设以二维数组存储矩 阵Am×n,试编写求出矩阵中所有马鞍点的算法。
for(i=la+lb; c[i]==0; i--); printf("A与B的积是:"); for(;i>=0;i--) {printf("%d",c[i]);} }
程序2
#include "stdio.h" #define m 3 #define n 4 void minmax(int A[m][n]) {int i,j,have=0,row,col; int min[m],max[n]; for(i=0;i<m;i++) {min[i]=A[i][0]; for(j=1;j<n;j++) if(A[i][j]<min[i]) min[i]=A[i][j]; /*本行 最小元素*/ } for(j=0;j<n;j++) {max[j]=A[0][j]; for(i=1;i<m;i++) if (A[i][j]>max[j]) max[j]=A[i][j]; /*本列 最大元素*/ } for(i=0;i<m;i++) for(j=0;j<n;j++) if(min[i]==max[j]) {row=i+1;col=j+1; printf("(%d,%d):%d\n",row,col,A[i][j]); have=1; } if(!have) printf("没有鞍点\n"); }
=====================================================================
部分参考程序
=====================================================================
程序1
#include <string.h> #define Maxsize 200 int main() { int i,j,temp,carry, l,la,lb; char a[Maxsize]=" ", b[Maxsize]=" "; static int c[2*Maxsize]={0}; printf( "请输入A的值:"); /*a[0]为最高位*/ scanf("%s",&a); la=strlen(a); / 字符个数 printf("请输入B的值:"); scanf("%s",b); lb=strlen(b); for(i=0; i<la; i++) /*字符型数据转化为整型,例如:字符1 的ASCII码为49*/ a[i]=a[i]-48; for(i=0; i<la/2; i++) {temp=a[i]; a[i]=a[la-1-i]; a[la-1-i]=temp; } for(j=0; j<lb; j++) b[j]=b[j]-48; for(j=0; j<lb/2; j++) {temp=b[j]; b[j]=b[lb-1-j]; b[lb-1-j]=temp; } for(i=0; i<la; i++) {for(j=0; j<lb; j++) {c[i+j]=c[i+j]+a[i]*b[j]; } } l=0; temp=0; carry=0; do {temp=c[l]+carry; c[l]=temp%10; carry=temp/10; l++; }while(l<=(lb+la));