一..实验目的
巩固字符串和多维数组相关知识,学会运用灵活应用。
1.回顾字符串和多维数组的逻辑结构和存储操作特点,字符和数组的物理存储结构和常见操作。
2.学习运用字符串和和数组的知识来解决实际问题。
3.进一步巩固程序调试方法。
4.进一步巩固模板程序设计。
二.实验时间
准备时间为第9周到第10前半周,具体集中实验时间为10周周四。2个学时。
三..实验内容
1.从键盘输入一些文本,统计文本单词的个数。
源代码:
#include<iostream>
#include<cstring>
using namespace std;
void main()
{
int i,j,count,len;
char s[500];
count=0;
cout<<"请输入英文文本:"<<endl;
cin.get(s,500);
len=strlen(s);
j=0;
for(i=j;i<len;i++)
{
if(s[i]!=' ')
for(j=i;;j++)
if(s[j]==' ')
{ count++;
i=j;
break; }
}
cout<<"文本的单词个数为:\n"<<count<<endl;
}
运行结果:
2.写程序输出一个5阶幻方:每一行每一列每一个对角线和均相等。
源代码:
#include <iostream>
using namespace std;
int main()
{
int n = 1, m = 3,a[6][6] = {0};
for(int i = 1; i <= 25;++i)
{
a[n][m] = i;
if(n == 1&& m == 5)
{
++n;
continue;
}
else
{
if(n == 1)
n = 5;
else
--n;
if(m == 5)
m = 1;
else
++m;
}
if(a[n][m] != 0)
{
n += 2;
m -= 1;
}
}
for(n = 1; n <= 5; ++n)
{
for(m = 1; m <= 5; ++m)
{
cout << a[n][m] << " ";
if(m%5 == 0)
cout << endl;
}
}
return 0;
}
运行结果: