C语言实验报告(六)
C语言实验报告(六)
一、实验目的
1、掌握二维数组的定义和元素的应用。
2、掌握二维数组的应用。
3、掌握字符数组的定义和元素的引用。
4、掌握字符数组元素和字符串的应用。
二、实验内容
1. 统计子串个数
描述:输入一个字符串str和一个子串s,统计str中子串s的个数。
输入:输入数据有2行,第一行为str,第二行为s,字符串长度不超过128。
输出:输出子串的个数
样例输入: 输入样例1:sdf$$$sdf$$
Sdf
输入样例2:abcabcaaannnnbbbnc
abc
样例输出:样例输出1:2
样例输出2:2
·程序代码:
#include "stdio.h"
//#include "string"
char st[500],str[500];
int ji;
int shu1,shu2;
int pd;
int strl(char tt[1000])
{
int sum=0;
while (tt[sum]!='\0')
sum++;
return sum;
}
int main(void)
{
scanf("%s",&st);
scanf("%s",&str);
shu1=strl(st);
shu2=strl(str);
int i,j;
int kk;
// ptintf"%d",shu1);
for(i=0;i<=shu1-shu2;i++)
{
pd=0;
kk=0;
for(j=i;j
{
if(str[kk]!=st[j])
{
pd=1;
break;
}
kk++;
}
if(pd==0)
ji++;
}
printf("%d",ji);
return 0;
}
2. 鞍点问题
描述找出具有m行n列二维数组Array的“鞍点”,即该位置上的元素在该行上最大,在该列上最小,其中1<=m,n<=10。
输入输入数据有多行,第一行有两个数m和n,下面有m行,每行有n个数。
输出按下列格式输出鞍点:Array[i][j]=x
其中x代表鞍点,i和j为鞍点所在的数组行和列下标,我们规定数组下标从0开始。一个二维数组并不一定存在鞍点,此时请输出None我们保证不会出现两个鞍点的情况,比如:3?31?2?31?2?3 3?6?8
样例输入 3?31?2?34?5?67?8?9
样例输出Array[0][2]=3
·程序代码:
#include "stdio.h"
int main()
{
int i,j,a[10] [10],m,n,col,max;
scanf("%d%d",&m,&n);
for(i=0;i
for(j=0;j
scanf("%d",&a[i][j]);
for(i=0;i
{
col=0;
for(j=0;j
if(a[i][col]
col=j;
for(j=0;j
if(a[j][col]