请补充函数fun(char *s),该函数的功能是把字符串中的内容逆置。例如:字符串中原有的字符串为abcde,则调用该函数后,串中的内容变为edcba。注意;部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:$include<string.h>include<conio.h>include<stdio.h>define N 81void fun(char*s){int i=0,t,n=strlen(s);for(;【 】;

题目

请补充函数fun(char *s),该函数的功能是把字符串中的内容逆置。

例如:字符串中原有的字符串为abcde,则调用该函数后,串中的内容变为edcba。

注意;部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。

试题程序:

$include<string.h>

include<conio.h>

include<stdio.h>

define N 81

void fun(char*s)

{

int i=0,t,n=strlen(s);

for(;【 】;i++)

{

t=*(s+i);

【 】;

【 】;

}

}

main()

{

char a[N];

clrscr();

printf("Enter a string:");

gets(a);

printf("The original string is:");

puts(a);

fun(a);

printf("\n");

printf("The string after modified:");

puts(a);

}


相似考题
更多“请补充函数fun(char *s),该函数的功能是把字符串中的内容逆置。 例如:字符串中原有的字符串为abcd ”相关问题
  • 第1题:

    请编写一个函数char *fun(char *s),其中s代表一个字符串。函数fun()的功能是将字符串s的元素倒置。例如,输入为“teacher”,则应输出“rehcaet”。

    注意:部分源程序已存在文件PROC10.cpp中。

    请勿修改主函数和其他函数中的任何内容,仅在函数fun()的花括号中填写若干语句。

    文件PROC10.cpp的内容如下:

    //PROC10. cpp

    include <iostream>

    include <string>

    using namespace std;

    char *fun(char *s);

    int main ( )

    {

    char str[81];

    cout<<"Please enter a string:\n";

    cin>>str;

    cout<<"The result is:"<<fun(str));

    cout<<end1;

    return 0;

    }

    char*fun(char*s)

    {

    //* * * * * * * * *

    }


    正确答案:

  • 第2题:

    请编写函数fun,函数的功能是:移动字符串中的内容,移动的规则如下:把第1到第m个字符,平移到字符串的最后,把第m+l到最后的字符移到字符串的前部。

    例如,字符串中原有的内容为:ABCDEFGHIJK,m的值为3,则移动后,字符串中的内容应该是:DEFGHIJKABC。

    注意:部分源程序在文件PROGl.C中。请勿改动主函数main和其他函数中的任何内容,,仅在函数fun的花括号中填入你编写的若干语句。


    正确答案:
    解析:该程序功能是移动字符串中的内容,第一个字符移动到最后,后面的字符往前移动一位,形成循环左移。移动m个字符的就是循环左移m次。

  • 第3题:

    采用递归算法,设计函数,用来实现字符串s的逆置。 递归函数fun(s),返回逆置后的字符串s


    正确

  • 第4题:

    请编一个函数fun(oh lr*str),该函数的功能是把字符串中的内容逆置。 例如,字符串中原有的字符串为asdf9,则调用该函数后,串中的内容为9fdsa。 请勿改动main函数和其他函数中的任何内容,仅在函数proc的花括号中填人所编写的若干语句。 试题程序: include<string.h> include<conio.h> include<stdio.h> define N 100 void fun(char * str) { } void main { char a[N]; FILE*out: printf("Enter a string:"); gets(a); printf("The origir al string is:"); puts(a); fun(a): printf("The string after modified:"); puts(a); strcpy(a,"Welcome!"); fun(a); ut=fopen("outfile.dat","w"); fprintf(out,"%s".a); fclose(out); }


    正确答案:

    char ch;
    int i,m,n;
    i=0:
    m=n=strlen(str)-1; //求字符串str长度
    while(i<(n+1)/2) //循环逆置交换
    {
    ch=str[i];
    str[i]=str[m];
    str[m]=ch:
    i++;
    m--;
    }
    【解析】在fun函数中,首先求行字符串的长度,然后通过循环进行字符交换。要注意的是,如果字符串长度是奇数,则最中间的元素在逆置前后的位置是没有改变的。

  • 第5题:

    请编一个函数fun(char*str),该函数的功能是把字符串中的内容逆置。 例如,字符串中原有的字符串为asdfg,则调用该函数后,串中的内容为gfdsa。 请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。 试题程序:


    正确答案:

    【解析】在fun()函数中,首先求行字符串的长度,然后通过循环进行字符交换。要注意的是,如果字符串长度是奇数,则最中间的元素在逆置前后的位置是没有改变的。