admin 管理员组

文章数量: 1087139


2024年4月22日发(作者:java项目如何jar依赖)

1、编一个函数fun(chars),函数的功能是把字符串中的内容

逆置

1、编一个函数fun(char *s),函数的功能是把字符串中的内容逆置。

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

串中的内容为:gfedcba

试题程序:

#include

#include

#include

#define N 81

/*注:该题的算法是先分别找出字符串的两头,然后同时逐一往

中间移动,每移动一次

都进行两字符的位置对换,直到中间字符(用

s+i

p="">

地址,因此要注意把它的内容取出再进行换位。即先进行取内容

运算*) */

fun(char *s)

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

for(;s+i

{t=*(s+i);*(s+i)=*(s+n-1-i);*(s+n-1-i)=t;} }

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);

}

2、写程序,实现矩阵(3行3列)的转置(即行列互换)。

例如,输入一面的矩阵:

程序输出:

试题程序:

#include

#include

/*这题的关键在于进行行列下标转换的算法,由矩阵的对称性我

们不难看出在进行行列

互换时a[j]在好是与a[j][i]互换,因而只要我位让程序走完矩阵的

左上角即可(用

for(i=0;i<2;i++)再套for(j=i+1;j<3;j++)来完成左上角的走动。

*/

int fun(int array[3][3])

{ int i,j,t;

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

for(j=i+1;j<3;j++)

{t=array[i][j];array[i][j]=array[j][i];arra y[j][i]=t;}

}

main()

{ int i,j;

int

array[3][3]={{100,200,300},{400, 500,600},{700,800,900}};

clrscr();

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

{for(j=0;j<3;j++)

printf("%7d",array[i][j]);

printf("n");

}


本文标签: 进行 内容 字符串 程序 矩阵