[2018年最新整理]c语言实验六
常熟理工学院
《C语言程序设计》实验指导与报告书
______学年 第____ 学期
专 业: ___________________________________________
学 号: ___________________________________________
姓 名: ___________________________________________
实验地点:___________________________________________
指导教师:___________________________________________
计算机科学与工程学院
2014
实验8 数组程序设计(2)
8.1 实验目的
1.掌握字符数组的使用方法。
2.掌握二维数组的定义及初始化方法。
3.掌握用循环语句对二维数组进行处理的方法。
4.熟悉对数组元素进行处理的常规算法(如排序、插入、删除及查找等)。
8.2 示例程序
【实验8.1】输入一个字符串,判断是否是回文串。所谓回文串,是指这个字符串正读和反读是一样的,如“abcba”和“123321”都是回文。
程序代码:
#include
#include
int main()
{char s[10]; /* 定义一个字符数组 */
int i,j,n;
printf("Please enter a string:");
gets(s); /* 输入字符串 */
n=strlen(s); /* 求出字符串的长度 */
for(i=0,j=n-1;i
if(s[i]!=s[j]) /* 判断对应的字符是否相等 */
break; /* 对应的字符不相等时跳出循环 */
if(i
printf("No\n");
else
printf("Yes\n");
return 0;
}
说明:
1.gets()函数一次只能读入一个字符串。
2.使用strlen()函数求出字符串的长度,将字符串的对应字符进行比较,遇到不相等时跳出循环。
3.循环外,若i
【实验8.2】本程序的功能是:将二维数组中的行列元素互换。
互换前 互换后
程序代码:
#include
#define N 3
void print(int a[][N]) /* 输出二维数组函数 */
{int i,j;
for(i=0; i
{ for(j=0; j
printf("%3d", a[i][j]);
printf("\n");/* 输出一行后换行 */
}
}
int main()
{ int i,j,t,a[N][N]={3,2,6,-2,7,9,1,5,8};
printf("Exchange before:\n");
print(a); /* 调用输出函数输出交换前的数组 */
printf("\n");
for(i=0; i
for (j=i+1; j
{t=a[i][j];
a[i][j]=a[j][i];
a[j][i]=t;
}
printf("Exchange after:\n");
print(a); /* 调用输出函数输出交换后的数组 */
return 0;
}
说明:
1.print()函数的作用是输出一个二维数组。
2.将二维数组中的行列元素互换,即a[0][1]与a[1][0]交换,a[0][2]与a[2][0]交换,…可以用循环来实现。
8.3 阅读程序
【实验8.3】以下程序的功能是:在一个递增的字母或数字串(不超过8个)中插入一个字母或数字。
程序代码:
#include
#include
int main()
{char string[10]={'\0'},ch;
int i=0,j,len;
printf("Please enter a string(lower):");
gets(string);