设为首页 加入收藏

TOP

计算机等级考试二级C语言程序设计专项训练题——数组元素的移动(四)
2023-07-23 13:32:25 】 浏览:551
Tags:计算机 程序设 计专项 元素的
lt;N; j++)  printf("%3d",x[i][j]);

        printf("\n");

    }

    fun(x,2);

    printf("The array after moving:\n\n");

    for(i=0; i<M; i++)

    { 

        for(j=0; j<N; j++)  printf("%3d",x[i][j]);

        printf("\n");

    }

    return 0;

}

void fun(int  (*a)[N],int  k)
{ 
    int  i,j,p,temp;
    for(p=1; p<= k; p++)
      for(i=0; i<M; i++)
      {  
          temp=a[i][0];
          for(j=0; j< N ; j++) 
              a[i][j]=a[i][j+1];
          a[i][N-1]= temp;
      }
}
参考程序

7.编写函数fun,它的功能是:把字符串中的内容逆置。

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

#include <string.h>

#include <stdio.h>

#define   N   81

void fun(char *s)

{

}

int main()

{

    char a[N];

    printf("Enter a string: ");gets(a);

    printf("The original string is:  ");puts(a);

    fun(a);

    printf("\n");

    printf("The string after modified:  ");

    puts(a);

    return 0;

}

void fun(char *s)
{
    int i,j;
    char t;
    for (i=0,j=strlen(s)-1;i<j;i++,j--)
    {
        t=s[i]; s[i]=s[j]; s[j]=t;
    }
}
参考程序

8.编写函数fun,其功能是:将形参s所指字符串中的所有字母字符顺序前移,其他字符顺序后移。

例如,s所指字符串为:asd123fgh543df,移动处理后字符串为:asdfghdf123543。

#include  <stdio.h>

void fun(char  s[])

{

}

int main()

{

    char  s[80];

    printf("Please input: ");

    scanf("%s",s);

    fun(s);

    printf("\nThe result is: %s\n",s);

    return 0;

}

void fun(char  s[])
{
    int  i, j, k;
    char  p[80], t[80];
    j=0; k=0;
    for (i=0; s[i]!='\0'; i++)
    {
        if (((s[i]>='a')&&(s[i]<='z'))
||((s[i]>='A')&&(s[i]<='Z')))
        {
            t[j]=s[i]; j++;
        }
        else
        {
            p[k]=s[i]; k++;
        }
    }
    for (i=0; i<j; i++)  s[i]=t[i];
    for (i=0; i<k; i++)  s[j+i]=p[i];
}
参考程序

9.编写函数fun,它的功能是:将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的次序。

例如,s所指的字符串为“def35adh3kjsdtf7”,执行后结果为“defadhkjsdtf3537”。

#include <stdio.h>

void fun(char *s)

{

}

int main()

{

    char s[80]="def35adh3kjsdtf7";

    printf("The original string is :%s\n",s);

    fun(s);

    printf("The result string is :%s\n",s);

    return 0;

}

void fun(char *s)
{
    int  i, j, k;
    char  t1[80], t2[80];
    j=0; k=0;
    for (i=0; s[i]!='\0'; i++)
    {
        if (s[i]>='0' && s[i]<='9')
        {
            t2[j++]=s[i];
        }
        else
        {
            t1[k++]=s[i];
        }
    }
    for (i=0; i<k; i++)  s[i]=t1[i];
    for (i=0; i<j; i++)  s[k+i]=t2[i];
}
参考程序

10.编写函数fun,它的功能是:在p所指字符串中找出ASCII码值最大的字符,将其放在第1个位置上,并将该字符前的原字符向后顺序移动。

例如,调用函数前字符串为:GABCDeFGH,调用函数后字符串为:eGABCDFGH。

#include <stdio.h>

void fun(char *p)

{

}

int main()

{

    char str[80];

    printf("Enter a string:");

    gets(str);

    prin

首页 上一页 1 2 3 4 5 6 下一页 尾页 4/6/6
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇冷知识:预处理字符串操作符 下一篇计算机等级考试二级C语言程序设计..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目