C程序设计语言练习题之 1-19, 我的编程

首先感谢各位大神的指点,没有你们的帮助,我这个菜鸟还在低智商的错误中无法自拔呢呵呵。

代码:

#include <stdio.h>
#include <string.h>

#define MAX 1000

int reverse(char str1[], char str2[]); //定义翻转字符串的函数
 
int input(char string1[]); //定义字符串输入函数 

int main()
{
	char string1[MAX];
	char string2[MAX];

	input(string1); //将键盘输入的字符赋值给字符串 

	printf("The string is %s, it has %d characters \n",string1, strlen(string1)); //测试输入的正确性

	reverse(string1, string2);//翻转字符串 

	printf("The reversed string is %s, it has %d characters\n",string2, strlen(string2)); //打印翻转后的结果 
}

int input(char string1[]) //输入字符到字符串中的子程序 
{
	
	int i;
	char c;

	for (i = 0; i <= (MAX - 2) && (c = getchar())!= EOF && c != '\n'; i++){
		string1[i] = c; //依次给字符串每一位赋值 
	}

	if (c == '\n') //如果输入回车
		string1[i] = '\0'; //将回车用结束符号代替,因为这个程序中回车在字符串里是没有必要存在的,颠倒次序的时候会添加麻烦

	return 0;
}

int reverse(char str1[], char str2[]) //翻转字符串的子程序 
{
	int i;
	for (i = strlen(str1) - 1; i >= 0; i--){
		str2[strlen(str1) - 1 - i] = str1[i];
	}	
	str2[strlen(str2) ] = '\0'; //给字符串2加上结束标志
	 
	return 0;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值