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");
}
版权声明:本文标题:1、编一个函数fun(chars),函数的功能是把字符串中的内容逆置 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/b/1713742500a649461.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论