微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

一..实验目的

     巩固字符串和多维数组相关知识,学会运用灵活应用。

1.回顾字符串和多维数组的逻辑结构和存储操作特点,字符和数组的物理存储结构和常见操作。

2.学习运用字符串和和数组的知识来解决实际问题。

3.进一步巩固程序调试方法

4.进一步巩固模板程序设计。

二.实验时间

   准备时间为第9周到第10前半周,具体集中实验时间为10周周四。2个学时。

三..实验内容

1.从键盘输入一些文本,统计文本单词的个数。

2.写程序输出一个5阶幻方:每一行每一列每一个对角线和均相等。

3.  自己设计一个字符加密算法,并设计程序验证:输入文本,解后加密并输出。在些基础上设计一个你算法的解密程序。

    前两题是必做题,第3题是选做题。

第一题:

#include <iostream>
using namespace std;
int main()
{
 char string[50];
 int i=0,num=0,word=0;
 char c;
 int wordNo[30];
 int a=0,j=0;
 gets(string);
 do
 {
  c=string[i];
  if(c!=' ') a++;
  else
  {
   word=0;
   wordNo[j]=a;
   a=0;
   j++;
  }
  if(word==0)
  {
   num++;
   word=1;
  } 
  i++;
 }
 while(string[i]!='\0');
 int max=wordNo[0];
 int k=0;
 for(i=0;i<j;i++)
 {
  if(wordNo[i]>max)
  {
   k=i;
   max=wordNo[i];
  }
 }
 printf("There're %d words in this line\n",num);
 printf("The longest word is No.%d,length is %d\n",(k+1),max);
 return 0;
}


第二题:

#include<iostream> 
using namespace std; 
int main()  
{  
int a[100][100],x;/*初始化*/  
int i,j,m,n,temp;  
printf("输出魔方矩阵n=");  
scanf("%d",&x);  
while(x)  
{  
    if(!(x%2))  
    {  
        printf("你输入了偶数,很遗憾本程序将退出");  
        return 0;  
    }  
  
    else  
    {  
        for(i=0;i<x;i++)  
            for(j=0;j<x;j++)  
                a[i][j]=0;  
        i=0;  
        j=x/2;  
        a[i][j]=1;  
        for(temp=2;temp<=x*x;temp++)  
        {  
            m=i;  
            n=j;  
            i--;  
            j++;  
            if(i<0)  
                i=x-1;  
            if(j>=x)  
                j=0;  
            if(a[i][j]!=0)  
            {  
                i=m+1;  
                j=n;  
            }  
              
            a[i][j]=temp;  
        }  
    }  
    for(i=0;i<x;i++)  
    {  
        for(j=0;j<x;j++)  
        printf("%4d",a[i][j]);  
        printf("\n");  
    }  
    printf("输出魔方矩阵n=");  
    scanf("%d",&x);  
    }  
    return 0;  
}  

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐