c程序设计语言第一章4
(昨天网络出现了问题,导致这篇没来得及上传,再次补上,今晚照常上传笔记)
练习1.19编写函数r e v e r s e ( s )将字符串s中的字符顺序颠倒过来。使用该函数编写一个程序,每次颠倒一个输入行中的字符顺序
/*************字符串s中的字符顺序颠倒过**********************/
#include <stdio.h>
#include <stdlib.h>
#define MAXLENGTH 100//字符串最大值
int getline(char[],int limit);
void reverse(char[]);
int main()
{
char str[MAXLENGTH];
int len=;
while((len=getline(str,MAXLENGTH))>)
{
reverse(str);
printf("%s\n",str);
}
return ;
}
int getline(char str[],int limit)
{
int c;
int i;
for(i=;i<(limit-)&&(c=getchar())!=EOF&&c!='\n';i++)
{
str[i]=c;
}
if(c=='\n')
{
str[i]=c;
++i;
}
str[i]='\0';
return i;
}
void reverse(char str[])
{
int i,j;
char temp;
for(i=;str[i]!='\0';i++);//找到字符串的末尾
--i;
if(str[i]=='\n')--i;//不计换行符,此时i记录字符串的尾部
j=;//j记录字符串最开始的位置
while(j<i)
{
temp=str[i];//交换字符
str[i]=str[j];
str[j]=temp;
++j;
--i;
}
}
运行结果:
c程序设计语言第一章4的更多相关文章
- c程序设计语言第一章3
字符数组是C语言中最常用的数组类型.下面我们通过编写一个程序,来说明字符数组以反操作字符数组的函数的用法.该程序读入一组文本行,并把最长的文水行打印出来.该算法的基本框架非常简单: while (还有 ...
- c程序设计语言第一章1
1,c程序都是由函数和变量组成的. 练习1.6验证布尔表达式getchar()!= EOF的取值是0还是1 答: #include <stdio.h> #include <stdli ...
- c程序设计语言第一章5
练习1.20请编写程序d e t a b
- c程序设计语言第一章2
练习1.13编写一个程序,打印输入中单词长度的直方图.水平方向的直方图比较容易绘制,垂直方向的直方图则要困难些 #include <stdio.h> #include <stdlib ...
- C语言——第一章,程序设计和C语言
第一章,程序设计和C语言 一,程序和程序语言 程序:完成某项事物所预设的活动方式和活动过程 程序设计:人们描述(指程序)计算机要做的工作 程序设计语言及发展 1,机器语言 2,汇编语言 3 ...
- Intel汇编语言程序设计学习-第一章 基本概念
第一章基本概念 1.1 简单介绍 本书着重讲述MS-Windows平台上IA-32(Intel Architecture 32bit,英特尔32位体系架构)兼容微处理器的汇编语言程序设计,可以使用I ...
- c语言第一章第一节 认识变量
声明:本人大一新生,闲着无聊..写写c语言教程..菜鸟一枚..大神勿喷!!! 接下来我们都用dev来进行编译..vc++太古老了,没提示功能,不好上手,并且老是出毛病..vs太大了,编个c不至于,运行 ...
- 《JavaScript高级程序设计》——第一章JavaScript简介
第一章主要讲了JavaScript的诞生和发展.刚刚接触JavaScript的我,似乎对这些内容并不感兴趣,快速看了一遍就开始去看第二章了. 看完第一章,收获也就是了解到JavaScript由ECMA ...
- C#语言————第一章 第一个C#程序
第一章 第一个C#程序 ******************C#程序*************** ①:建立项目:文件-->新建-->项目-->c#-->控制台程 ...
随机推荐
- Java面试——String、StringBuider以及StringBuffer的区别和使用场景
1. String.StringBuider.StringBuffer的区别 String是不可变的对象,因此在每次对String类型进行改变的时候,都会生成一个新的String对象,然后将指针指 ...
- 00051_static关键字
1.static概念 当在定义类的时候,类中都会有相应的属性和方法.而属性和方法都是通过创建本类对象调用的.当在调用对象的某个方法时,这个方法没有访问到对象的特有数据时,方法创建这个对象有些多余.可是 ...
- CEO的智力财富第12期-《股权激励》学习笔记
卷首语---你现在走的第一步,都藏着你未来的样子 今天,又去参加天使岛举办的系列讲座之股权激励,由律大大律师事务所李刚律师主讲,走在路上,我就在想,我为什么要来参加这样的活动呢?我的本职工作和股权没有 ...
- 练习题,新建数据库anyun
一.新建数据库,数据库名为anyun mysql> create database anyun; Query OK, 1 row affected (0.00 sec) 二.查看数据库 mysq ...
- HDU 5514 Frogs
Frogs Time Limit: 1000ms Memory Limit: 65536KB This problem will be judged on HDU. Original ID: 5514 ...
- BZOJ 1012 [JSOI2008]最大数maxnumber【线段树】
水题,每次记录一下当前有多少个数,然后按照题目所指示的那样模拟就行,每次向线段树末尾插入(其实是修改)题目中指定的数,然后询问当前的个数到前面Q个数中最大值是多少结果就是,好久不碰线段树了,用数组模拟 ...
- leetcode 144 先序遍历和中序遍历差不多
这是只写了先序遍历的非递归代码 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode * ...
- 转载:sql2005 Microsoft SQL Server Management Studio Express的安装问题
转载地址:http://blog.csdn.net/rjc20098022/article/details/26958105 在这个网址http://www.microsoft.com/zh-cn/d ...
- 理解 Nova 架构
Compute Service Nova 是 OpenStack 最核心的服务,负责维护和管理云环境的计算资源. OpenStack 作为 IaaS 的云操作系统,虚拟机生命周期管理也就是通过 Nov ...
- Redis命令行之String
一.Redis之String简介 1. String是redis最基本的数据类型,一个key对应一个value. 2. String是二进制安全的,可以包含任何数据,例如图片或序列化的对象. 3. S ...