第1个回答 2008-06-12
fun (char a[10])
{
char b[10];
b=a;
int i;
for(i=9;i>=0;i++)
printf("%c",b[i]);
}
你要的第一题解法类似这个,我好久没都碰C了,不知道那个指针怎么定义,你要是急的话,你先从里面找些思路,不急等我回来帮你看看.这个不难.
第二题你可以这样解
数组a你可以用for来随便赋值.
for(i=0;i<9;i++)
{
if (i=0)
printf("%d",a[9]);
printf("%d",a[i]);
}
我给出的跟你大同小异,在指针里面也可以用好像是*a[i]这类的来取值跟赋值吧
第2个回答 2008-06-12
上面这朋友说得好像不怎么对,比如你第一个函数实现的功能只是把字符串从后往前输出,而出题者要求的是改变串里的值!
1 题解如下:
void fun(char *s)
{
int i,len;
len = strLen(s);
char temp;
for(i = 0;i<len/2;i++)
{
temp = s[i];
s[i] = s[len-i-1];
s[len-i-1] = temp;
}
}
2 题解如下:
void fun(char *s)
{
int i,len;
len = strLen(s);
char temp = s[0];
for(i = 0;i<len-1;i++)
{
s[i] = s[i+1];
}
s[i] = temp;
}
答案如上,也许算法不是最好的,但功能已经实现了.