《数据结构》实验四: 字符串和多维数组 实验
一..实验目的
巩固字符串和多维数组相关知识,学会运用灵活应用。
1.回顾字符串和多维数组的逻辑结构和存储操作特点,字符和数组的物理存储结构和常见操作。
2.学习运用字符串和和数组的知识来解决实际问题。
3.进一步巩固程序调试方法。
4.进一步巩固模板程序设计。
二.实验时间
准备时间为第9周到第10前半周,具体集中实验时间为10周周四。2个学时。
三..实验内容
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] 举报,一经查实,本站将立刻删除。