C语言 实现逆置功能

//凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/

1. 字符串的逆置

方法1:利用数组

 #include<stdio.h>
#include<string.h>
void fun(char a[]){
int i,len;
char ch;
len=strlen(a);
for(i=;i<len/;i++){
ch=a[i];
a[i]=a[len--i];
a[len--i]=ch;
}
} void main(){
char s[];
printf("Pealse input a string:\n");
gets(s);
printf("The string has been inverted:\n");
fun(s);
puts(s);
}

结果为:

方法2:利用指针

 #include<stdio.h>
#include<string.h>
void fun(char *a){
if(*a){
fun(a+);
printf("%c",*a);
}
} void main(){
char s[];
printf("Pealse input a string:\n");
gets(s);
printf("The string has been inverted:\n");
fun(s);
printf("\n");
}

结果为:

2.输入10个数,逆置输出

方法1:利用数组

 #include<stdio.h>
#include<string.h>
#define N 10 #if(1)
void reverse(int x[],int n){
int i,j,temp,m;
m=(n-)/;
for(i=;i<=m;i++){
j=n--i;
temp=x[i];
x[i]=x[j];
x[j]=temp;
}
}
#endif #if(0)
void reverse(int *x,int n){
int *i,*j,*p,temp,m;
m=(n-)/;
i=x; //i->x[0]
j=x+n-; //j->x[n-1]
p=x+m; //p->x[m]
for(;i<=p;i++,j--){
temp=*i;
*i=*j;
*j=temp;
}
}
#endif void main(){
int i,a[N];
printf("Pealse input %d numbers:\n",N);
for(i=;i<N;i++){
scanf("%d",a+i);
}
reverse(a,N);
printf("The array has been inverted:\n");
for(i=;i<N;i++){
printf("%2d",a[i]);
}
printf("\n");
}

结果为:

方法2:利用指针

 #include<stdio.h>
#include<string.h>
#define N 10 #if(0)
void reverse(int x[],int n){
int i,j,temp,m;
m=(n-)/;
for(i=;i<=m;i++){
j=n--i;
temp=x[i];
x[i]=x[j];
x[j]=temp;
}
}
#endif #if(1)
void reverse(int *x,int n){
int *i,*j,*p,temp,m;
m=(n-)/;
i=x; //i->x[0]
j=x+n-; //j->x[n-1]
p=x+m; //p->x[m]
for(;i<=p;i++,j--){
temp=*i;
*i=*j;
*j=temp;
}
}
#endif void main(){
int i,a[N];
printf("Pealse input %d numbers:\n",N);
for(i=;i<N;i++){
scanf("%d",a+i);
}
reverse(a,N);
printf("The array has been inverted:\n");
for(i=;i<N;i++){
printf("%2d",a[i]);
}
printf("\n");
}

结果为:

C语言 实现逆置功能的更多相关文章

  1. 2010: C语言实验——逆置正整数

    2010: C语言实验——逆置正整数 Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 949  Solved: 691[Submit][Status][We ...

  2. 【stut 逆置正整数】

    C语言实验——逆置正整数 Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 输入一个三位正整数,将它反向输出. 输入 3位正整数. ...

  3. C语言 链表的创建--打印--逆置--新增--删除--排序--释放

    #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #include<string. ...

  4. C语言实现单链表的逆置

          单链表的逆置是一个非常经典的问题,这里利用两个思想进行解决.       首先,我们需要看下原理图,其实两个思想都是一样的,都是使后一个的节点的 next 指针指向前一个节点,依次递推,直 ...

  5. 【C语言编程练习】7.1 线型表就地逆置

    写在前面的话:直接从第5章跳到了第7章数据结构的趣题,原因是前面的数学趣题做久了,会觉得稍许疲倦,所以想“变个口味”,以后数学趣题和数据结构混合着练习. 1. 题目要求 编写一个函数,实现顺序表的就地 ...

  6. C语言strrev()函数:字符串逆置(倒序、逆序)

    头文件:#include<string.h> strrev()函数将字符串逆置,其原型为:    char *strrev(char *str); [参数说明]str为要逆置的字符串. s ...

  7. C语言实现整数数组的逆置算法

    读入100个整数到一个数组中,写出实现该数组进行逆置的算法. 方法一: 假设100个整数读入到数组a中,算法f1的思想是分别从数组两端依次将对应数进行交换,即a[i]与a[100 - i - 1]进行 ...

  8. 已知单链表的数据元素为整型数且递增有序,L为单链表的哨兵指针。编写算法将表中值大于X小于Y的所有结点的顺序逆置。(C语言)

    对此题目的完整示例可直接运行代码如下: #include <stdio.h> #include <stdlib.h> typedef struct LNode{ int dat ...

  9. 逆置单链表(基于c语言)

    直接插入全部代码:(reverseLinklist函数是逆置操作) #include <stdio.h> #include <stdlib.h> #include <as ...

随机推荐

  1. MySQL系列详解五: xtrabackup实现完全备份及增量备份详解-技术流ken

    xtrabackup简介 xtrabackup是一个用来对mysql做备份的工具,它可以对innodb引擎的数据库做热备.xtrabackup备份和还原速度快,备份操作不会中断正在执行的事务,备份完成 ...

  2. 关于EF中出现FOREIGNKEY约束可能会导致循环或多重级联路径的问题

    ef中,我们创建外键的时候需要注意,否则会出现标题所示问题. 例:有项目表,项目收藏表,用户表 项目表有如下字段:ProjectId,InputPersonId等 项目收藏表有如下字段:Project ...

  3. Spring Data REST API集成Springfox、Swagger

    原文: Documenting a Spring Data REST API with Springfox and Swagger 使用Spring Date REST,你可以迅速为Spring Da ...

  4. 字符串拼接引发的BUG

    译者按: bug虽小,却是个磨人的小妖精! 原文: Fixing a bug: when concatenated strings turn into numbers in JavaScript 译者 ...

  5. 从发布订阅模式到redux(一)

    最近在学习的过程中,学习了一些关于redux的一些知识,学之前用redux,虽然会用但是实现的原理就不是特别清楚,天天沉迷于搬砖 总是这木搬砖也不是个事啊,就准备开始深入了解一些原理性的东西 首先在看 ...

  6. IDEA项目搭建十四——Web站点Controller基类及布局页静态资源设计

    一.简介 站点搭建完成后,编写页面时一般会有如下几个需求 1.嵌套静态页面时有很大一部分通用代码,如css.js这部分可以使用thymeleaf的局部片段代码块组成 2.这些静态资源默认放在程序中,但 ...

  7. 理解PeopleSoft集成代理(Integration Broker)-第1部分

    PeopleSoft 集成代理对于那些刚开始开发PeopleSoft的工程师来说是模糊的,因此,本文的目的是帮助哪些想要了解Peoplesoft集成代理的人. 介绍PeopleSoft集成代理 peo ...

  8. getCacheDir()、getFilesDir()、getExternalFilesDir()、getExternalCacheDir()

    一.getCacheDir.getCacheDir getCacheDir()方法用于获取/data/data//cache目录 getFilesDir()方法用于获取/data/data//file ...

  9. C# Json.Net解析实例

    本文以一个简单的小例子,简述Json.Net的相关知识,仅供学习分享使用,如有不足之处,还请指正. 概述 Json.Net is a Popular high-performance JSON fra ...

  10. unity修改脚本的图标

    我们看别人代码时有时看到人家的脚本显示的不是unity的默认图标,而是自己的logo.如: 这样看上去感觉很专业有没有. 修改方法: 1 在Project窗口中点击选中脚本,在Inspector界面点 ...