有哪位大佬知道这个C语言程序设计题错在哪里

#include <stdio.h>
#include <string.h>
void NONO();
int fun( char *t )
{
int i,length,flag;
length=strlen(t);
for(i=0;i<length;i++){
if(t[i]==t[i+1]-1)
return flag=1;
else
return flag=0;
}
return flag;
}
main()
{ char s[26];
printf("请输入一个字母组成的字符串 : "); gets(s);
if( fun(s) ) printf("%s 是由连续字母组成的字符串.\n", s );
else printf("%s 不是由连续字母组成的字符串!\n", s );
NONO();
}
void NONO()
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE *fp, *wf ;
int i;
char s[26], *p;

fp = fopen("..\\in.dat","r") ;
wf = fopen("..\\out.dat","w") ;
for(i = 0 ; i < 10 ; i++) {
fgets(s, 26, fp);
p=strchr(s,'\n');
if(p) *p=0;
if (fun(s)) fprintf(wf, "%s\n", s+2);
else fprintf(wf, "%s\n", strrev(s));
}
fclose(fp) ;
fclose(wf) ;
}

第1个回答  2019-04-01
#include <stdio.h>
#include <string.h>
void NONO();
int fun( char *t )
{
int i,length;
length=strlen(t);
for(i=0;i<length-1;i++)
{
if(t[i]!=t[i+1]-1) return 0;
}
return 1;
}

void main()
{
char s[26];
printf("请输入一个字母组成的字符串 : ");
gets(s);
if( fun(s) ) printf("%s 是由连续字母组成的字符串.\n", s );
else printf("%s 不是由连续字母组成的字符串!\n", s );
NONO();
}

void NONO()
{
/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE *fp, *wf ;
int i;
char s[26], *p;

fp = fopen("..\\in.dat","r") ;
wf = fopen("..\\out.dat","w") ;
for(i = 0 ; i < 10 ; i++)
{
if(!fgets(s, 26, fp)) break;
p=strchr(s,'\n');
if(p) *p=0;
if (fun(s)) fprintf(wf, "%s\n", s+2);
else fprintf(wf, "%s\n", strrev(s));
}
fclose(fp) ;
fclose(wf) ;
}

本回答被网友采纳
第2个回答  2019-03-30
具体一点,说明白详细要求,我有。追问

...
请编写函数fn,其功能是:判断t所指字符串中的字母是否由连续递增字母序列组成(字符串长度大于等于2)。例如字符串: uvwxyz满足 要求;而字符串: uwvxwyz不满足 要求。
注意,请先打开PROG1. SLN文件再操作,部分源程序存在文件PROG1. C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun指定的部位填入所编写的若干语句。

这个就是要求

相似回答