《数据结构》实验四:字符串和多维数组 实验报告

前端之家收集整理的这篇文章主要介绍了《数据结构》实验四:字符串和多维数组 实验报告前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

《数据结构》实验四: 字符串和多维数组 实验

一..实验目的
巩固字符串和多维数组相关知识,学会运用灵活应用。
1.回顾字符串和多维数组的逻辑结构和存储操作特点,字符和数组的物理存储结构和常见操作。
2.学习运用字符串和和数组的知识来解决实际问题。
3.进一步巩固程序调试方法
4.进一步巩固模板程序设计。
二..实验内容
1.从键盘输入一些文本,统计文本单词的个数。
2.写程序输出一个5阶幻方:每一行每一列每一个对角线和均相等。
3. 自己设计一个字符加密算法,并设计程序验证:输入文本,解后加密并输出。在些基础上设计一个你算法的解密程序。
前两题是必做题,第3题是选做题。
三.实验报告要求
博客中先写上实习目的和内容,画出主要操作运算算法图,然后分别上传程序代码。插入调试关键结果截图。
四.实验报告
(一).从键盘输入一些文本,统计文本单词的个数。

1、主要运算算法图



2、源代码

#include<iostream>
#include<string>
using namespace std;
int strlen(char *s)
{
	char *p=s;
	int leg=0,con=0;
	for(;*p!=0;p++)
	{
		if(*p>='a'&&*p<='z'||*p>='A'&&*p<='Z')
		{
			if(con==0)
				leg++;
			con=1;
		}
		else
			con=0;
	}
	return leg;
}
int main()
{
	char ch[50];
	cout<<"please input your english words(less than 50):"<<endl;
	cin.getline(ch,50);
	cout<<strlen(ch)<<endl;
	return 0;
}

3、程序调试关键结果



(二)、写程序输出一个5阶幻方:每一行每一列每一个对角线和均相等。

1、主要运算算法图

2、源程序

#include<iostream>
#include<iomanip>
using namespace std;
#define n 5
int a[n][n];
int itemp,jtemp;
int main()
{

	int i=0,j=n/2,k;  //k表示即将填入的数
	a[i][j]=1;
   itemp=i;jtemp=j;
	for(k=2;k<=n*n;k++)
	{int itemp=i; int jtemp=j;
		 
		i=(i-1+n)%n;
		j=(j-1+n)%n;
		if(a[i][j]>0)
		{
			i=(itemp+1)%n;
			j=jtemp;
		}
		a[i][j]=k;
	}
	for(i=0;i<n;i++)
	{
		for(j=0;j<n;j++)
		{
			cout<<left;
			cout<<setw(4)<<a[i][j]<<setw(4);
			if(j%4==0&&j!=0)
				cout<<endl;
		}
	}
return 0;
}

3、程序调试关键结果

猜你在找的数据结构相关文章