C语言编程:在内存中做一个一维数组的倒置,用内指针或外指针实现这个题目的函数版.

1、定义一个字符串包含20个字符,计算出里边某个字符的出现次数。
2、从键盘上输入一个字符输出它的大小写,改写成子函数版本.。
3、定义2个字符串C1C2把C2连接到C1后面改写成函数。
4、在内存中做一个一维数组的倒置,用内指针或外指针实现这个题目的函数版.

麻烦各位高手帮我解答以上四题 好的 我将给予财富值悬赏 谢谢

第1个回答  推荐于2016-05-19
//定义一个字符串包含20个字符,计算出里边某个字符的出现次数
#include <stdio.h>
int my_strchr(char* str,char s)
{
int cnt = 0;
while(*str++)
{
if(*str==s)
cnt++;
}

return cnt;
}
int main()
{
char str[21];//多一个留给'\0'
int c;
int ret;
printf("输入字符串(20个字符):\n");
gets(str);
printf("输入待查找字符:");
c=getchar();
ret=my_strchr(str,c);
printf("%c出现的次数为%d\n",c,ret);
getchar();

return 0;
}

//从键盘上输入一个字符输出它的大小写,改写成子函数版本
//转换大小写
#include <stdio.h>
int change(int s)
{
if (s<65 || s>122 || (s>90 && s<97))
return -1;
return (s>='a')?(s-32):(s+32);
}
int main()
{
int c;
int ret;
printf("输入待转换字符:\n");
c=getchar();
ret=change(c);
if(ret >0)
printf("转换后为:%c\n",ret);
getchar();

return 0;
}*/
//定义2个字符串C1C2把C2连接到C1后面改写成函数/*

#include <stdio.h>
char *strat(char *dst,const char *src)
{
char *cp = dst;
while(*cp)
cp++;
while(*cp++ = *src++);
return dst;
}

int main()
{
char s[50] = "abccddds";
char t[]="dfsfsfd";
char *ps=strat(s,t);
printf("%s\n",ps);
return 0;
}

//在内存中做一个一维数组的倒置,用内指针或外指针实现这个题目的函数版
#include <stdio.h>

//交换
void swap(int *p,int * q)
{
int temp;
if(*p<*q)
{
temp=*p;
*p=*q;
*q=temp;
p++;
q--;
}
}
int main()
{
int a[5]={1,2,3,4,5};
int *p,*q,i;
p=&a[0];
q=&a[4];
swap(p,q);
for(i=0;i<5;i++)
{
printf("%d",a[i]);
}
printf("\n");
return 0;
}

见过帮人的,没见过这么热心的……追问

呵呵 O(∩_∩)O谢谢

本回答被提问者采纳
第2个回答  2013-01-06
授人鱼不如授人渔,楼主是学C语言的,还是应付考试的?追问

肯定是学习的

追答

自己有思路或代码吗,不懂的地方我在回答你吧

相似回答