C语言机试中,在线求答案

来源:百度知道 编辑:UC知道 时间:2024/06/15 11:54:49
试题如下,今晚8点35之前考试结束
跪求答案,各位神仙帮忙啊
第一题:
编写一个函数findStr(char *str,char *substr),该函数统计一个数组substr中的子字符串在另一个数组str中的字符串中出现的次数。例如,假定输入的字符串为"asd asasdfg asdas zx67 asdmklo",子字符串为"asd",函数返回值是4。
请勿改动主函数main(),仅在函数findStr()的花括号中填入你编写的若干语句。
#include <stdio.h>
#include <string.h>
int findStr(char *str, char *substr)
{

}
main()
{ char str[81], substr[5] ;
int n ;
printf("输入原字符串:") ;
gets(str) ;
printf("输入子字符串:") ;
gets(substr) ;
n=findStr(str, substr) ;
printf("n=%d\n", n) ;
}
多谢,能否再帮忙解答第二题
第二题:
定义一个N*N(N的值宏定义为4,数组结构如下图)的二维数组,编程完成以下要求:
1、 以初始化方式为N*N二维数组赋初值;
2、 分别求出数组周边元素与数组左下半三角元素的平均值,并将该两个平均值存到当前路径A.TXT文件中。

3 2 5 1
6 8 0 4
12 0 11 20
15 13 0 17

#include <stdio.h>
#include <string.h>
int findStr(char *str, char *substr)
{
int i,j=0,last,count=0;
for(i=1;i<5;i++){//检测substr中的字母个数,可为1,2,3,4个
if(substr[i]==0)
last=i-1;
}
for(i=0;i<81;i++){
if(str[i]==substr[j]){
if(j==last){
count++;
j=0;
}else{
j++;
}
}
}
return count;
}
main()
{ char str[81], substr[5] ;
int n ;
printf("输入原字符串:") ;
gets(str) ;
printf("输入子字符串:") ;
gets(substr) ;
n=findStr(str, substr) ;
printf("n=%d\n", n) ;
}

http://zhidao.baidu.com/question/97265813.html

Orz..