*(p+i)=*(p+n+i);
}
2. 矩阵元素的排序
将一个5×5的整数型矩阵中各元素重新排序。排序规则为,矩阵元素按照从左到右,从上到下的顺序依次递增,即
4,41,10,14,03,02,01,00,0.......a a a a a a a a ≤≤≤≤≤≤≤。
要求编写一个函数实现上述排序功能。
在主函数中输入该矩阵,调用编写的上述函数,然后输出排序后的矩阵。
#include
void main()
{
void inv(int (*x)[5]);
int i,j,a[5][5];
int (*p)[5];
printf("please input an 5*5 array:\n");
p=a;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
scanf("%d",*(p+i)+j);
inv(p);
printf("the new array:\n");
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
printf("%4d",*(*(p+i)+j));
putchar('\n');
}
putchar('\n');
}
void inv(int (*x)[5])
{
int i,j,t;
for(i=0;i<24;i++)
for(j=i+1;j<25;j++)
{
if(*(*x+i)>*(*x+j))
{t=*(*x+i);*(*x+i)=*(*x+j);*(*x+j)=t;}
}
return;
}
3.星期的查找
编写一个程序,输入一个1~7之间的整数,表示星期几,然后输出相应的文字。
例如:如用户输入3,则输出“星期三”。
要求:用指针数组的方法来实现。
#include
void main()
{
int n;
char (*p)[3];
char a[7][3]={"一","二","三","四","五","六","七"};
printf("please input n=");
scanf("%d",&n);
p=a;
printf("星期%s\n",p+n-1);
}
4.字符串库函数的实现
请使用指针的方法来实现如下的库函数:
Char * strncpy( char *s, char * t, int n) //复制t的前n个字符至s
Char * strncat( char *s, char * t, int n) //连接t的前n个字符至s的末尾int strncmp( char *s, char * t, int n) //比较s和t的前n个字符
并请编写一个主函数来调用并测试自己编写的库函数。
#include
#include
char *strncpy(char *s,char *t,int n)
{
int i,length;
length=strlen(s);
for(i=0;i*(s+i)=*(t+i);
if(lengthreturn(s);
}
char *strncat(char *s,char *t,int n)
{
int i,length;
length=strlen(s);
for(i=0;i