程序设计题目:请编写一个函数fun,函数的功能是求主函数中输入的字符串的长度,并将该字符串逆序存放。例如:输入字符串"abcdefg",则应输出"gfedcba"。 【答题说明】请将下面的程序代码复制粘贴到C语言的编译环境中,比如(VC或dev c++),完善函数fun的函数体,运行正确后,再将完整的程序复制粘贴到填写答案处。 #include 注意:语言选DEV C++。 #include "stdio.h" #include "string.h" #define N 81 int fun(char str[]) { /**********Program**********/ /********** End **********/ } main() { char s[N]; int l; gets(s); l=fun(s); puts(s); printf("%d\n",l); }
用strlen获取字符串长度,然后从大到小循环输出。
#include "stdio.h"
#include "string.h"
#define N 81
int fun(char str[])
{
int i,l;
char c;
l=strlen(str);
for(i=0;i<l/2;i++){
c=str[i];
str[i]=str[l-i-1];
str[l-i-1]=c;
}
return l;
}
main()
{
char s[N];
int l;
gets(s);
l=fun(s);
puts(s);
printf("%d\n",l);
}
如果有帮助请点一下我回答右上方的采纳,谢谢!以后有什么问题可以互相交流。
代码如下,请参考,如有帮助,请采纳一下,谢谢。
#include "stdio.h"
#include "string.h"
#define N 81
int fun(char str[])
{
int len = strlen(str);
char* p = new char[len+1];
memset(p,0,len+1);
memcpy(p,str,len);
for (int i = 0; i < len ; i++)
{
str[i] = p[len-1-i];
}
delete[] p;
p = 0;
return len;
}
void main()
{
char s[N];
int l;
gets(s);
l=fun(s);
puts(s);
printf("%d\n",l);
}
#include "stdio.h"
#include "string.h"
#define N 81
int fun(char *str) {
/**********Program**********/
char temp[N];
int i=0,j=0,k=0,len=0;
while(str[i++]!=NULL){
temp[j++]=str[i-1];
len++;
}
j=i-1;
while(temp[k++]!=NULL){
str[--j]=temp[k-1];
}
return len;
/********** End **********/
}
int main() {
char s[N]={0};
int l;
gets(s);
l=fun(s);
puts(s);
printf("%d\n",l);
}
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632