C语言新人。。麻烦帮我编一下。。

从键盘输入一个字符串,实现利用字符指针将字符串顺序逆置输出。(例abcd输出dcba)

#include <stdio.h>

#include <string.h>

int main()

{

char str[100],temp;

gets(str);//输入字符串

int t=strlen(str);

for(int i=0;i<=t/2;i++)//逆序存放  第一个与最后一个交换  以此类推

{

temp=str[i];

str[i]=str[t-i-1];

str[t-i-1]=temp;

}

printf("%s\n",str);//输出

}

追问

您用的c++?

追答

我只能告诉你这是C语言 不是C++
C++ 的头文件一般是
#include
using namespace std ;
输入一般用cin
#include
#include
using namespace std;
int main()
{
char str[100],temp;
cin>>str;//输入字符串
int t=strlen(str);
for(int i=0;i<=t/2;i++)//逆序存放 第一个与最后一个交换 以此类推
{
temp=str[i];
str[i]=str[t-i-1];
str[t-i-1]=temp;
}
cout<<str<<endl;;//输出
}
//这就是C++的

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-15

看到过一个比较经典(递归方式)的:


#include<stdio.h>


void fun()        

{

    char a;           

    if((a=getchar())!='\n') 

       fun();            

    putchar(a); 


}       


main()            

{

   fun();   

   getchar();     

}


第2个回答  2013-05-15
//c++的
#include <iostream>
#include <string>
using namespace std;
void swap_char(char& a, char& b);

int main(){
string str;
cout << "请输入一个字符串,我将为这个字符串颠倒:"
getline(cin,str);
for(int i = 0; i <= ( str.size() / 2); i++)

{
swap_char(str[i], str[str.size() - i];
}
cout << str;
return 0; }
void swap_char(char& a, char& b) {
if(a != b)
{
char temp = a;
a = b;
b = temp;}
return; }

//c++版本,支持中文
#include <iostream>
#include <string>
using namespace std;
void swap_wchar(wchar_t& a, wchar_t& b);

int main(){
wstring str;
wcout << L"请输入一个字符串,我将为这个字符串颠倒:"
getline(wcin,str);
for(int i = 0; i <= ( str.size() / 2); i++)

{
swap_wchar(str[i], str[str.size() - i];
}
wcout << str;
return 0; }
void swap_wchar(wchar_t& a, wchar_t& b) {
if(a != b)
{
wchar_t temp = a;
a = b;
b = temp;}
return; }本回答被提问者采纳
第3个回答  2013-05-15
#include <stdio.h>
#include <string.h>

void fun(char *p)
{
int len=strlen(p),i=0,j=len-1,k=len/2; //len是数组长度
char temp;
while(k--) //把第一个和倒数第一个交换,第二个和倒数第二个交换,以此类推
{
temp = p[i];
p[i++] = p[j];
p[j--] = temp;
}
}

int main()
{
char a[100];
scanf("%s",a);
fun(a);
printf("%s\n",a);
}
第4个回答  2013-05-15
#include "stdio.h"
#include "string.h"
main()
{ char str[80],*p;
int a;
printf("输入字符串:");
gets(str);
printf("反顺序是:");
a=strlen(str)-1;
p=&str[a];
for(;a>=0;a--)printf("%c",*p--); printf("\n");
}
相似回答