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

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

一..实验目的
     巩固字符串和多维数组相关知识,学会运用灵活应用。
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、程序调试关键结果



  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值