c语言问题1、 编制程序:对键盘输入的字符串进行逆序,逆序后的字符串仍然保留在原来字符数组中,最后输出
1、编制程序:对键盘输入的字符串进行逆序,逆序后的字符串仍然保留在原来字符数组中,最后输出。(不得调用任何字符串处理函数,包括strlen)写出代码给我不能够被编译是不是...
1、 编制程序:对键盘输入的字符串进行逆序,逆序后的字符串仍然保留在原来字符数组中,最后输出。(不得调用任何字符串处理函数,包括strlen)写出代码给我
不能够被编译 是不是出错了 展开
不能够被编译 是不是出错了 展开
5个回答
展开全部
已通过调试,结果正确。
#include <stdio.h>
void main(void)
{
unsigned char i = 0, j, temp1[200], temp2[200];
printf("\n\n\n Please Input yuan_wenzi: ");
scanf("%s", temp1); /*输入字符串到TEMP1*/
while(temp1[i] != '\0') {temp2[i] = temp1[i]; i++;} /*暂时存到TEMP2*/
for (j = 0; j < i; j++) temp1[j] = temp2[i - 1 - j]; /*反序后还在TEMP1*/
temp2[j] = temp1[i];
printf("\n\n yuan_wenzi: %s\n", temp2);
printf(" \n fan__wenzi: %s\n\n", temp1); /*输出反序后的TEMP1*/
}
#include <stdio.h>
void main(void)
{
unsigned char i = 0, j, temp1[200], temp2[200];
printf("\n\n\n Please Input yuan_wenzi: ");
scanf("%s", temp1); /*输入字符串到TEMP1*/
while(temp1[i] != '\0') {temp2[i] = temp1[i]; i++;} /*暂时存到TEMP2*/
for (j = 0; j < i; j++) temp1[j] = temp2[i - 1 - j]; /*反序后还在TEMP1*/
temp2[j] = temp1[i];
printf("\n\n yuan_wenzi: %s\n", temp2);
printf(" \n fan__wenzi: %s\n\n", temp1); /*输出反序后的TEMP1*/
}
展开全部
//先写的,已通过调试,结果正确,程序及注释如下:
#include<stdio.h>
void main()
{
char s[20],*p;
int i;
scanf("%s",s);//输入一个长度小于20的字符串,由s[20]限定,要改字符串长度就改字符串数组大小
p=s;//将字符串首地址赋给指针p
while(*p!='\0') p++;//让指针一直指到字符串结束符
while(p!=s) //倒序输出字符串中字母,直到字符串首地址
{
p--;
printf("%c",*p);
}
}
有问题可以HI我··
#include<stdio.h>
void main()
{
char s[20],*p;
int i;
scanf("%s",s);//输入一个长度小于20的字符串,由s[20]限定,要改字符串长度就改字符串数组大小
p=s;//将字符串首地址赋给指针p
while(*p!='\0') p++;//让指针一直指到字符串结束符
while(p!=s) //倒序输出字符串中字母,直到字符串首地址
{
p--;
printf("%c",*p);
}
}
有问题可以HI我··
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
//C语言的,VC2005通过
#include <stdio.h>
#include <memory.h>
int main(int argc, char *argv[])
{
char str [20];//最多19个字符
int n,half,i;
char tmp;
memset(str, 0, 20);
scanf("%s", str);
printf("Before: %s\n", str);
n=strlen(str)-1;
half=n/2;
for(i=0;i<=half;i++)
{
tmp=str[i];
str[i]=str[n-i];
str[n-i]=tmp;
}
printf("After : %s\n", str);
fflush(stdin);
getch();
return 0;
}
或
#include<stdio.h>
main()
{
char str[80],c;
int i,j=0,p;
gets(str);
for(i=0;str[i]!='\0';i++)
j++;
for(i=-;i<p/2;i++)
{c=a[i];a[i]=a[j-1];
j=j-1;}
printf("%d",a[i]);
}
#include <stdio.h>
#include <memory.h>
int main(int argc, char *argv[])
{
char str [20];//最多19个字符
int n,half,i;
char tmp;
memset(str, 0, 20);
scanf("%s", str);
printf("Before: %s\n", str);
n=strlen(str)-1;
half=n/2;
for(i=0;i<=half;i++)
{
tmp=str[i];
str[i]=str[n-i];
str[n-i]=tmp;
}
printf("After : %s\n", str);
fflush(stdin);
getch();
return 0;
}
或
#include<stdio.h>
main()
{
char str[80],c;
int i,j=0,p;
gets(str);
for(i=0;str[i]!='\0';i++)
j++;
for(i=-;i<p/2;i++)
{c=a[i];a[i]=a[j-1];
j=j-1;}
printf("%d",a[i]);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
void main() { char str[256],*p,*q,c;
gets(str); p=q=str; while ( *q ) q++; q--;
while ( p<q ) { c=*p; *p=*q; *q=c; p++; q--; }
printf("%s\n",str);
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include "stdio.h"
#define N 100000
int main()
{
char a[N];
int i=0;
while(scanf("%s",a)!=EOF){
printf("%s\n",a);
while(a[i]!='\0')
i++;
for(;i>0;i--)
printf("%c",a[i-1]);
printf("\n");
}
return 0;
}
你可以尝试一下这个,你要求的strlen没有使用,你可以运行一下
#define N 100000
int main()
{
char a[N];
int i=0;
while(scanf("%s",a)!=EOF){
printf("%s\n",a);
while(a[i]!='\0')
i++;
for(;i>0;i--)
printf("%c",a[i-1]);
printf("\n");
}
return 0;
}
你可以尝试一下这个,你要求的strlen没有使用,你可以运行一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询