题目如下图
疑惑是 请问如何调用已经写好的文本文件到函数中进行运算?
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
void f1(char str[][50],int n)
{
int sum=0;
for(int i=0;i<n;i++)
{
for(int t=0;t<50;t++)
{
for(int g=0;g<n;g++)
{
for(int w=0;w<50;w++)
{
if(str[i][t]==((str[g][w])||(str[g][w]+32)||(str[g][w]-32)))
sum++;
if(str[g+i][w+t]==str[i][t])
continue;
}
}
printf("%d有%d个 ",str[i][t],sum);
sum=0;
}
}
printf("\n");
}
void f2(char str[][50],int n)
{
int sum=0;
for(int i=0;i<n;i++)
{
if((str[i][0]>='A')&&(str[i][0]<='Z')||(str[i][0]>='a')&&(str[i][0]<='z'))
sum++;
for(int t=0;t<50;t++)
{
if(str[i][t]==' ')
sum++;
if(str[i][t]=='\0')
{
if((str[i][t-1]<='A')&&(str[i][t-1]>='Z')||(str[i][t-1]<='a')&&(str[i][t-1]>='z'))
sum--;
}
}
}
printf("单词个数为%d\n",sum);
}
void f3(char str[][50],int n)
{
int l=0,g,h,t;
int max=0;
printf("最长单词是");
for(int i=0;i<n;i++)
{
for(int t=0;t<50;t++)
{
if((str[i][t]>='A')&&(str[i][t]<='Z')||(str[i][t]>='a')&&(str[i][t]<='z'))
{
l=1;
if((str[i][t+1]>='A')&&(str[i][t+1]<='Z')||(str[i][t+1]>='a')&&(str[i][t+1]<='z'))
l++;
}
if((str[i][t+1]<='A')&&(str[i][t+1]>='Z')||(str[i][t+1]<='a')&&(str[i][t+1]>='z'))
continue;
if(max<l)
{
max=l;
h=i;
g=t;
}
}
}
for(g=t;g<t+l;g++)
{
printf("%d",str[h][g]);
}
printf(" 长度为%d\n",max);
}
void f4(char str[][50],int n)
{
char a[1000]={0};
int s=0,g,h=0;
for(int i=0;i<n;i++)
{
for(int t=0;t<50;t++)
{
if((str[i][t]>='0')&&(str[i][t]<='9'))
{
h++;
if((str[i][t+1]<='0')&&(str[i][t+1]>='9'))
{
s++;
h=0;
}
}
for(int u=h;u<=h;u--)
{
if(u>=2)
a[s]=a[s]*10;
a[s]+=str[i][t];
}
}
}
printf("出现的整数有");
for(int g=0;g<s+1;g++)
printf("%d ",a[g]);
printf("\n");
}
int main()
{
FILE *in;
char ch,str[4][50],infile[10];
int i=0,t=0;
printf("输入文件名字");
scanf("%s",infile);
if((in=fopen(infile,"r"))==NULL)
{
printf("can't open file!\n");
exit(0);
}
ch=fgetc(in);
while(!feof(in))
{
putchar(ch);
ch=fgetc(in);
str[i][t]=ch;
if(ch=='\0')
{
i++;
t=0;
printf("\n");
}
else
t++;
}
putchar(10);
f1(str,4);
f2(str,4);
f3(str,4);
f4(str,4);
fclose(in);
return 0;
}