请编写函数fun,该函数的功能是:判断字符串是否为回文,若是,则函数返回1,主函数中输出”YES”,否则返回0,主函数中输出”NO”。回文是指顺读和倒读都一样的字符串。 例如,字符串LEVEL是回文,而字符串123312就不是回文。 注意:

admin2021-04-28  46

问题 请编写函数fun,该函数的功能是:判断字符串是否为回文,若是,则函数返回1,主函数中输出”YES”,否则返回0,主函数中输出”NO”。回文是指顺读和倒读都一样的字符串。
    例如,字符串LEVEL是回文,而字符串123312就不是回文。
    注意:部分源程序在文件PROG1.C中。
    请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
1   #include<stdio.h>
2  #define N 80
3  int fun(char * str)
4  {
5
6  }
7   main()
8   {
9    char s[N];
10    FILE * out;
11    char * test[]={’’1234321’’,’’123421’’,’’123321’’,’’abcdCBA’’};
12    int i;
13    printf(’’Enter a string:’’);
14    gets(s);
15    printf(’’\n\n’’);
16    puts(s);
17    if(fun(s))
18    printf(’’YES\n’’);
19    else
20    printf(’’NO\n’’);
21    /*****************/
22    out=fopen(’’out.dat’’,’’w’’);
23    for(i=0;i<4;i++)
24    if(fun(test))
25    fprintf(out,’’YES\n’’);
26    else
27    fprintf(out,’’NO\n’’);
28    fclose(out);
29  /*****************/
30   }

选项

答案1 int fun(char*str) 2 { 3 int i,n=0,fg=1; 4 char*p=str; 5 while(*p)/*将指针p置位到字符串末尾,并统计字符数*/ 6 { 7 n++; 8 p++; 9 } 10 for(i=0;i
解析 判断回文就是将第一个字符与最后一个字符比较,第二个字符与倒数第二个字符进行比较,依此类推,直到中间的字符,如果比较的结果都相同,那么这个字符串就是回文,否则不是。程序中循环语句用来遍历字符串,条件语句用来判断当前字符与对应位置的字符是否相同。
转载请注明原文地址:https://jikaoti.com/ti/oxz0FFFM
0

最新回复(0)