C源程序:如何用C语言实现输入“我爱中国”,让其输出“国中爱我”?
5个回答
2012-04-18
展开全部
#include <stdio.h>
#include <string.h>
void main()
{
char a[100];
gets(a);//输入中文串
int i= strlen(a)-2;//给a赋值,因为每个中文字占两个字节,所以减二
while( i >=0)
{
printf("%s",a+i);//一个中文字当成占两个字节的字符串,这里是输出最后一个字
a[i]='\0';//将输出后的字设置为空,就不会再次输出了
i = i-2;//每个字占两个字节,所以每次自减2
}
printf("\n");
}
#include <string.h>
void main()
{
char a[100];
gets(a);//输入中文串
int i= strlen(a)-2;//给a赋值,因为每个中文字占两个字节,所以减二
while( i >=0)
{
printf("%s",a+i);//一个中文字当成占两个字节的字符串,这里是输出最后一个字
a[i]='\0';//将输出后的字设置为空,就不会再次输出了
i = i-2;//每个字占两个字节,所以每次自减2
}
printf("\n");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1楼说的不对
这个问题不是简单的字符串逆序
下面看 代码
国中爱我
Press any key to continue
#include <stdio.h>
#include <string.h>
main()
{
char str[]="我爱中国",strR[4][3];
strR[0][0] = str[0];
strR[0][1] = str[1];
strR[0][2] = '\0';
strR[1][0] = str[2];
strR[1][1] = str[3];
strR[1][2] = '\0';
strR[2][0] = str[4];
strR[2][1] = str[5];
strR[2][2] = '\0';
strR[3][0] = str[6];
strR[3][1] = str[7];
strR[3][2] = '\0';
printf("%s",strR[3]);
printf("%s",strR[2]);
printf("%s",strR[1]);
printf("%s",strR[0]);
printf("\n");
}
这个问题不是简单的字符串逆序
下面看 代码
国中爱我
Press any key to continue
#include <stdio.h>
#include <string.h>
main()
{
char str[]="我爱中国",strR[4][3];
strR[0][0] = str[0];
strR[0][1] = str[1];
strR[0][2] = '\0';
strR[1][0] = str[2];
strR[1][1] = str[3];
strR[1][2] = '\0';
strR[2][0] = str[4];
strR[2][1] = str[5];
strR[2][2] = '\0';
strR[3][0] = str[6];
strR[3][1] = str[7];
strR[3][2] = '\0';
printf("%s",strR[3]);
printf("%s",strR[2]);
printf("%s",strR[1]);
printf("%s",strR[0]);
printf("\n");
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以采用结构体或者二维字符数组的方法,这两种方法比较简单,新手好理解
#include <stdio.h>
typedef struct h
{
char ch[3];
}h;
void main()
{
h c[5];
int i;
for(i=0;i<5;i++)
{
scanf("%s",c[i].ch);
}
for(i=4;i>=0;i--)
{
printf("%s",c[i].ch);
}
}
#include <stdio.h>
typedef struct h
{
char ch[3];
}h;
void main()
{
h c[5];
int i;
for(i=0;i<5;i++)
{
scanf("%s",c[i].ch);
}
for(i=4;i>=0;i--)
{
printf("%s",c[i].ch);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
void func(char b[],int m)
{
char temp;
int i,j;
for(i=0,j=m-1;i<=m/2;i++,j--)
{
temp=b[i];
b[i]=b[j];
b[j]=temp;
}
}
调用这个函数就可以了
{
char temp;
int i,j;
for(i=0,j=m-1;i<=m/2;i++,j--)
{
temp=b[i];
b[i]=b[j];
b[j]=temp;
}
}
调用这个函数就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-04-18
展开全部
写一个递归输出函数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询