
C语言编程!!高手进,高分求解!!!
)字符串逆转:从键盘读入一个字符串,编程实现将字符串逆转要求编制函数voidreverse(char*str);2)字符替换:从键盘读入一个字符串及两个字符,编程实现字符...
)字符串逆转:从键盘读入一个字符串,编程实现将字符串逆转
要求编制函数 void reverse(char *str);
2)字符替换:从键盘读入一个字符串及两个字符,编程实现字符串中字符替换
要求编制函数 void replace(char *str, char a, char b); 将字符串str中的字符a替换为字符b,
3)字符删除:从键盘读入一个字符串及一个字符,编程实现将给定字符串中这个字符删除,
要求编制函数 int delete(char *str, char a); 将字符串str中的a字符删除,
函数返回总共删除的字符的个数。
4)亲密数对问题:从键盘输入正整数M和N(M<N),输出M和N之间所有的亲密数对。
亲密数对的定义如下:两个正整数x和y,若x的所有因子之和(不包括x本身)等于y,
并且y的所有因子之和(不包括y本身)等于x,则x和y为亲密数对。
请尽量使用函数来实现子功能,如求因子和的功能:
int getSum(int N); 计算正整数N的所有因子(不包括N本身)之和并返回。
5)从键盘输入一个整数n,输出n的逆,如输入12345,输出54321,请尽量设计递归函数实现。
要求:1)程序一定要能运行;
2)独立完成。
按要求解答,每道题15 金!急求。。。。。!答案也可发我邮箱 244407132@qq.com
,谢谢啦~~
希望回答程序能完整, 展开
要求编制函数 void reverse(char *str);
2)字符替换:从键盘读入一个字符串及两个字符,编程实现字符串中字符替换
要求编制函数 void replace(char *str, char a, char b); 将字符串str中的字符a替换为字符b,
3)字符删除:从键盘读入一个字符串及一个字符,编程实现将给定字符串中这个字符删除,
要求编制函数 int delete(char *str, char a); 将字符串str中的a字符删除,
函数返回总共删除的字符的个数。
4)亲密数对问题:从键盘输入正整数M和N(M<N),输出M和N之间所有的亲密数对。
亲密数对的定义如下:两个正整数x和y,若x的所有因子之和(不包括x本身)等于y,
并且y的所有因子之和(不包括y本身)等于x,则x和y为亲密数对。
请尽量使用函数来实现子功能,如求因子和的功能:
int getSum(int N); 计算正整数N的所有因子(不包括N本身)之和并返回。
5)从键盘输入一个整数n,输出n的逆,如输入12345,输出54321,请尽量设计递归函数实现。
要求:1)程序一定要能运行;
2)独立完成。
按要求解答,每道题15 金!急求。。。。。!答案也可发我邮箱 244407132@qq.com
,谢谢啦~~
希望回答程序能完整, 展开
4个回答
展开全部
#include <stdio.h>
void reverse(char *str)
{
int le=0;
while(str[le]!='\0')
{
le++;
}
le--;
for(int i=0;i<le/2;i++)
{
char temp;
temp=str[i];
str[i]=str[le-i];
str[le-i]=temp;
}
}
void replace(char *str, char a, char b)
{
int le=0;
while(str[le]!='\0')
{
if(str[le]==a)
str[le]=b;
le++;
}
}
int delete1(char *str, char a)
{
int le=0;
int li=0;
int re=0;
while(str[le]!='\0')
{
le++;
}
le=0;
while(str[le]!='\0')
{
if(str[le]!=a)
{
str[li]=str[le];
li++;
}
else
{
re++;
}
le++;
}
str[li]='\0';
return re;
}
int getSum(int N)
{
int al=0;
for(int i=1;i<N;i++)
if(N%i==0)
al+=i;
return al;
}
void qimi(int m,int n)
{
for(int i=m;i<=n;i++)
{
int j=getSum(i);
if(j>i&&getSum(j)==i)
printf("%d %d\n",i,j);
}
}
void ni(int n)
{
printf("%d",n%10);
n/=10;
if(n)
ni(n);
}
void main(void)
{
}
在main里调用就可以了; main函数调用你也不会么....
void reverse(char *str)
{
int le=0;
while(str[le]!='\0')
{
le++;
}
le--;
for(int i=0;i<le/2;i++)
{
char temp;
temp=str[i];
str[i]=str[le-i];
str[le-i]=temp;
}
}
void replace(char *str, char a, char b)
{
int le=0;
while(str[le]!='\0')
{
if(str[le]==a)
str[le]=b;
le++;
}
}
int delete1(char *str, char a)
{
int le=0;
int li=0;
int re=0;
while(str[le]!='\0')
{
le++;
}
le=0;
while(str[le]!='\0')
{
if(str[le]!=a)
{
str[li]=str[le];
li++;
}
else
{
re++;
}
le++;
}
str[li]='\0';
return re;
}
int getSum(int N)
{
int al=0;
for(int i=1;i<N;i++)
if(N%i==0)
al+=i;
return al;
}
void qimi(int m,int n)
{
for(int i=m;i<=n;i++)
{
int j=getSum(i);
if(j>i&&getSum(j)==i)
printf("%d %d\n",i,j);
}
}
void ni(int n)
{
printf("%d",n%10);
n/=10;
if(n)
ni(n);
}
void main(void)
{
}
在main里调用就可以了; main函数调用你也不会么....
展开全部
哎,又是不动脑的。如果你不是学计算机的就当我没说啊。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
2)独立完成。哈,你不是写独立完成嘛
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这些都简单题,lz应该自己好好练习,不用求答案了吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询