C语言实践20140409.doc
文本预览下载声明
课程名称: C程序设计
实验名称: 二维数组和字符数组
专业班级:
指导教师:
完成日期:
课程实践实验报告
项目五、二维数组和字符数组的基本操作。
学习目标:
1、掌握二维数组的定义、遍历;
2、掌握常用的字符数组操作函数。
项目内容:
1、实现二维矩阵的转置,并查询二维矩阵中的最大值和最小值;
2、字符串加密实践。
实验要求:
定义4*3的int型矩阵(二维数组),矩阵元素可由屏幕输入,也可在程序中初始化,分别求出矩阵的转置矩阵,矩阵中元素的最大值和最小值。
2、定义一个字符数组,要求从屏幕输入明文存放入该数组中,密钥可自定义,对明文中的每个字符元素进行加、减、乘或除运算,生成密文存放入另一数组中。附加的要求为:(1)统计明文中所包含的字符数;(2)将明文和密文统一存储到同一个字符数组中。
实验过程:
1.#includestdio.h
int main()
{
int a[4][3],b[3][4],c[12];
printf (请输入a矩阵中的元素);
for (int i=0;i4;i++)
{
for (int j=0;j3;j++)
{
scanf(%d,a[i][j]);
}
}
for (int i=0;i4;i++)
{
printf(\n);
for (int j=0;j3;j++)
{
printf(%5d,a[i][j]);
}
}
printf(\n);
printf(转置矩阵:\n);
for (int j=0;j3;j++)
{
for (int i=0;i4;i++)
{
b[j][i]=a[i][j];
}
}
for (int j=0;j3;j++)
{
printf(\n);
for (int i=0;i4;i++)
{
printf(%5d,b[j][i]);
}
}
printf(\n);
printf(再次输入a矩阵中的元素);
for(int i=0;i4;i++)
{
for(int j=0;j3;j++)
{
scanf(%d,a[i][j]);
}
}
int tmp1=a[0][0];
for(int i=0;i4;i++)
{
for(int j=0;j3;j++)
{
if(a[i][j]tmp1)
{
tmp1=a[i][j];
}
}
}
printf(矩阵中最大的元素:%d\n,tmp1);
int tmp2=a[0][0];
for(int i=0;i4;i++)
{
for(int j=0;j3;j++)
{
if(a[i][j]tmp2)
{
tmp2=a[i][j];
}
}
}
printf(矩阵中最小的元素:%d\n,tmp2);
return 0;}
2.#includestdio.h
#includestring.h
int main()
{
char a[50];
gets(a);
char b[50];
int i;
for(i=0;istrlen(a);i++)
{
b[i]=a[i]+5;
}
puts(b);
int c;
c=strlen(a);
printf(\n共有%d个字符。\n,c);
puts(strcat(a,b));
return 0;
}
显示全部