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 3
1 2 3 1 2 3 3 6 8
样例输入: 3 3
1 2 3
4 5 6
7 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;