第3套
已知数据文件in3.dat中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:依次从数组a中取出一个四位数,如果该四位数连续大于该四位数以后的5个数且该数是奇数,则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b 中,最后调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到out3.dat文件中。
注意:部分程序已经给出。
程序中已定义数组:a[200],b[200],已定义变量:cnt。
请勿改动数据文件in.dat中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。
第4套
编写一个函数findStr(),该函数统计一个长度为2的子字符串在另一个字符串中出现的次数。例如,假定输入的字符串为"asdasasdfgasdaszx67asdmklo",子字符串为"as",函数返回值是6。
函数ReadWrite()实现从文件in4.dat中读取两个字符串,并调用函数findStr(),最后把结果输出到文件out4.dat中。
注意:部分程序已经给出。
请勿改动主函数main()和其他函数中的任何内容,仅在函数findStr()的花括号中填入你编写的若干语句。
#include<stdio.h>
#include<string.h>
#include<conio.h>
int findStr(char *str,char *substr)
{
}
main()
{
char str[81],substr[3];
int n;
clrscr();
printf("enter the original string:");
gets(str);
printf("enter an substring:");
gets(substr);
puts(str);
puts(substr);
n=findStr(str,substr);
printf("n=%d\n",n);
ReadWrite();
}
ReadWrite()
{
char str[81],substr[3],ch;
int n,len,i=0;
FILE *rf,*wf;
rf=fopen("in4.dat","w");
wf=fopen("out4.dat","w");
while(i<5)
{
fgets(str,80,rf);
fgets(substr,10,rf);
len=strlen(substr)-1;
ch=substr[len];
if(ch=='\n')substr[len]=0;
n=findStr(str,substr);
fprintf(wf,"%d\n",n);
i++;
}
fclose(rf);
fclose(wf);
}
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |