C语言编程,写一个函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符
#include<stdio.h>#defineN50voidreverse(chara[],intN){inti,j,temp;for(i=0,j=N-1;i<j;i+...
# include <stdio.h>
# define N 50
void reverse(char a[],int N)
{
int i,j,temp;
for(i=0,j=N-1;i<j;i++,j--)
{
a[j]=temp;
a[j]=a[i];
a[i]=temp;
}
}
void main ()
{
int k;
char b[N];
printf("请输入一串字符:\n");
for(k=0;k<N;k++) scanf("%s",&b);
printf("反序输出的结果是:\n");
puts(reverse(b));
}
这个程序哪错了?
还有系统不让我通过啊,反馈的错误是
ompiling...
ch07_05.cpp
C:\Documents and Settings\Administrator\桌面\ch07_05.cpp(3) : error C2143: syntax error : missing ')' before 'constant'
C:\Documents and Settings\Administrator\桌面\ch07_05.cpp(3) : error C2143: syntax error : missing ';' before 'constant'
C:\Documents and Settings\Administrator\桌面\ch07_05.cpp(3) : fatal error C1004: unexpected end of file found
执行 cl.exe 时出错. 展开
# define N 50
void reverse(char a[],int N)
{
int i,j,temp;
for(i=0,j=N-1;i<j;i++,j--)
{
a[j]=temp;
a[j]=a[i];
a[i]=temp;
}
}
void main ()
{
int k;
char b[N];
printf("请输入一串字符:\n");
for(k=0;k<N;k++) scanf("%s",&b);
printf("反序输出的结果是:\n");
puts(reverse(b));
}
这个程序哪错了?
还有系统不让我通过啊,反馈的错误是
ompiling...
ch07_05.cpp
C:\Documents and Settings\Administrator\桌面\ch07_05.cpp(3) : error C2143: syntax error : missing ')' before 'constant'
C:\Documents and Settings\Administrator\桌面\ch07_05.cpp(3) : error C2143: syntax error : missing ';' before 'constant'
C:\Documents and Settings\Administrator\桌面\ch07_05.cpp(3) : fatal error C1004: unexpected end of file found
执行 cl.exe 时出错. 展开
27个回答
2009-12-14
展开全部
不成功,错误太多。。。。
你只返回了一个字符,还有,你的D[100];是局部变量。。
函数执行完后就释放
你只返回了一个字符,还有,你的D[100];是局部变量。。
函数执行完后就释放
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<iostream>
#include<cassert>
using namespace std;
void Print(char *p)
{
if(NULL == p)return;
int n=strlen(p);
for(int i=0;i<n;++i)
cout<<p[i]<<" ";
cout<<endl;
}
void Swap(char &s,char &d)
{
char temp=s;
s=d;
d=temp;
}
char *fun(char *p)
{
if(NULL == p)return NULL;
int n=strlen(p);
int i=0,j=n-1;
while(i<j)
{
Swap(p[i],p[j]);
++i;
--j;
}
return p;
}
int main()
{
int n=0;
cout<<"please enter the nomber of your string!"<<endl;
cin>>n;
char *p=new char[n];
assert(p != NULL);
cout<<"please enter the your string!"<<endl;
cin>>p;
Print(p);
char *q=fun(p);
Print(q);
return 0;
}
好运!
#include<cassert>
using namespace std;
void Print(char *p)
{
if(NULL == p)return;
int n=strlen(p);
for(int i=0;i<n;++i)
cout<<p[i]<<" ";
cout<<endl;
}
void Swap(char &s,char &d)
{
char temp=s;
s=d;
d=temp;
}
char *fun(char *p)
{
if(NULL == p)return NULL;
int n=strlen(p);
int i=0,j=n-1;
while(i<j)
{
Swap(p[i],p[j]);
++i;
--j;
}
return p;
}
int main()
{
int n=0;
cout<<"please enter the nomber of your string!"<<endl;
cin>>n;
char *p=new char[n];
assert(p != NULL);
cout<<"please enter the your string!"<<endl;
cin>>p;
Print(p);
char *q=fun(p);
Print(q);
return 0;
}
好运!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void SortStr(char *str)
{
char buf[128], *sp = str;
int i;
strcpy(buf, str);
for (i = strlen(buf) - 1; i >= 0; i--) {
*sp++ = buf[i];
}
}
int main(void)
{
char buf[128];
memset(buf, 0, sizeof(buf));
fgets(buf, sizeof(buf), stdin);
buf[strlen(buf) - 1] = '\0';
SortStr(buf);
printf("%s\n", buf);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
# include <stdio.h>
# define N 50
void reverse(char a[],int n)
{
int i,j,temp;
for(i=0,j=n-1;i<j;i++,j--)
{
temp=a[j];
a[j]=a[i];
a[i]=temp;
}
}
void main ()
{
int k;
char b[N];
printf("请输入一串字符:\n"); for(k=0;k<N;k++)
scanf("%s",&b);
printf("反序输出的结果是:\n");
reverse(b,N);
puts(b);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
#include<string.h>
int fun(char a[])
{
int i,j,n;
char t;
n=strlen(a);
j=n/2;
for(i=0;i<j;i++)
{
t=a[i];a[i]=a[n-i-1];a[n-i-1]=t;
}
}
main()
{
int i;
char a[100];
gets(a);
fun(a);
puts(a);
}
#include<string.h>
int fun(char a[])
{
int i,j,n;
char t;
n=strlen(a);
j=n/2;
for(i=0;i<j;i++)
{
t=a[i];a[i]=a[n-i-1];a[n-i-1]=t;
}
}
main()
{
int i;
char a[100];
gets(a);
fun(a);
puts(a);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询