二进制打印与逆序_C语言(转)】的更多相关文章

//二进制逆序 by MoreWindows( http://blog.csdn.net/MoreWindows ) #include <stdio.h> //二进制打印函数 template <class T> void PrintfBinary(T a) { int i; - ; i >= ; --i) { ) putchar('); else putchar('); ) putchar(' '); } putchar('\n'); } int main() { prin…
给定一个含有n个元素的字符串,实现逆序. 这是个很基础的问题,实现方式也是很常见的c语言思路.虽然简单,但是仍然记录下来. [期望] 比如char str[] = "abcdefg"; 逆序后为:"gfedcba"; [思路]分别从字符串的头和尾部向中间进发,依次交换头尾的值,直到在中间相遇. 代码: #include <stdio.h> #include <string.h> void print_str(char *str) { int…
问题来源,今天早上和一舍友吃早餐的时候谈到的一个问题,将一个整数按照二进制逆序,然后输出逆序后的数值. 我们知道数值在内存中都是以二进制的形式存放的,假如我们是32位机,每8位为一个字节,int型在32位机上是占4个字节,即32位. 如   2  = 0000 0000 0000 0000 0000 0000 00000 0010(32位) 逆 ^2  = 0100 0000 0000 0000 0000 0000 00000 0000  (这里用^表示逆转) 那么这个操作要如何执行呢?首先补充…
1 逆序输出的数列(10分) 题目内容: 你的程序会读入一系列的正整数,预先不知道正整数的数量,一旦读到-1,就表示输入结束.然后,按照和输入相反的顺序输出所读到的数字,不包括最后标识结束的-1. 输入格式: 一系列正整数,输入-1表示结束,-1不是输入的数据的一部分. 输出格式: 按照与输入相反的顺序输出所有的整数,每个整数后面跟一个空格以与后面的整数区分,最后的整数后面也有空格. 输入样例: 1 2 3 4 -1 输出样例: 4 3 2 1 时间限制:2000ms内存限制:128000kb…
package a; public class ShuZi { int m; public int getM() { return m; } public void setM(int m) { this.m = m; } public void shu() { System.out.println("输入的数字是:"+m); if(m>99999) { System.out.println("The number is too large"); } else…
[Python练习题 024] 给一个不多于5位的正整数,要求:一.求它是几位数,二.逆序打印出各位数字. ---------------------------------------------- 这题如果不用递归,实在太简单了!!!代码上: str = input('请输入一个不多于5位的正整数:') print('这个数字是%s位数,逆序为%s.' % (len(str), str[::-1])) 输出结果如下: 请输入一个不多于5位的正整数:45931这个数字是5位数,逆序为13954…
一,数据结构——链表全操作: 链表形式: 其中,每个节点(Node)是一个结构体,这个结构体包含数据域,指针域,数据域用来存放数据,指针域则用来指向下一个节点: 特别说明:对于单链表,每个节点(Node)可以通过指针域(Node *next)来找到下一个节点,但却不能够找到上一个节点: 只需要知道头结点就可以确定整个链表: 对链表进行的操作一般都需要遍历链表,而链表结束的标志为NULL(要么next指针为空,要么头结点为空): 若要断开两个节点联系,要先保存下个节点,否则后面的节点无法找到: 关…
昨天的 Java 实现单例模式 中,我们的双重检验锁机制因为指令重排序问题而引入了 volatile 关键字,不少朋友问我,到底为啥要加 volatile 这个关键字呀,而它,到底又有什么神奇的作用呢? 对 volatile 这个关键字,在昨天的讲解中我们简单说了一下:被 volatile 修饰的共享变量,都会具有下面两个属性: 保证不同线程对该变量操作的内存可见性. 禁止指令重排序. 共享变量:如果一个变量在多个线程的工作内存中都存在副本,那么这个变量就是这几个线程的共享变量. 可见性:一个线…
这个不好懂,不如看 转贴:C语言链表基本操作http://www.cnblogs.com/jeanschen/p/3542668.html ZT 链表逆序http://www.cnblogs.com/jeanschen/p/3538966.html C语言链表操作(新增单向链表的逆序建立) 分类: C/C++2011-09-17 22:05 1017人阅读 评论(0) 收藏 举报 语言cnullinsertsearchstruct 众所周知,链表是数据结构的基础,掌握链表很重要http://bl…
算法提高 逆序排列   时间限制:1.0s   内存限制:512.0MB      问题描述 编写一个程序,读入一组整数(不超过20个),并把它们保存在一个整型数组中.当用户输入0时,表示输入结束.然后程序将把这个数组中的值按逆序重新存放,并打印出来.例如:假设用户输入了一组数据:7 19 -5 6 2 0,那么程序将会把前五个有效数据保存在一个数组中,即7 19 -5 6 2,然后把这个数组中的值按逆序重新存放,即变成了2 6 -5 19 7,然后把它们打印出来. 输入格式:输入只有一行,由若…
2422: C语言习题 n个数逆序 时间限制: 1 Sec  内存限制: 128 MB 提交: 150  解决: 96 题目描述 将n(n<20)个数按输入时顺序的逆序排列,用函数实现. 输入 n 和 n个整数 输出 逆序输出,空格分开 样例输入 10 1 2 3 4 5 6 7 8 9 0 样例输出 0 9 8 7 6 5 4 3 2 1 提示 主函数已给定如下,提交时不需要包含下述主函数 /* C代码 */ int main() {     void sort (int *p,int m);…
题目1525:子串逆序打印 时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:3124 解决:530 题目描述: 小明手中有很多字符串卡片,每个字符串中都包含有多个连续的空格,而且这些卡片在印刷的过程中将字符串的每个子串都打印反了,现在麻烦你帮小明将这些字符串中的子串修正过来,同时为了使卡片美观,压缩其中的连续空格为1个. 输入: 输入包含多个测试用例,每个测试用例的第一行是一个正整数 n,1=<n<=100000,代表卡片上字符串的长度.第二行输入长度为n的字符串(字符串仅包含小写…
题目描述 输入一个链表,输出该链表中倒数第k个结点. 思路:  两个指针,起始位置都是从链表头开始,第一个比第二个先走K个节点,当第一个走到链表尾时,第二个指针的位置就是倒数第k个节点.(两指针始终相聚k个节点) 注意边界条件: 1.链表不能一开始就是空的. 2.当链表只有5个节点时,若k=5,则返回第1个节点:若K>5,统一返回NULL. 边界条件十分影响case通过率!!! #include "../stdafx.h" #include <stdio.h> #in…
什么也不说, 直接上代码: 功能点有: 1, 获取尾结点 2, 添加(添加节点到链表的最后面) 3, 添加(根据节点的no(排名)的大小, 有序添加) 4, 单向链表的 遍历 5, 链表的长度 6, 删除某一个节点 7, 更换指定位置的节点 8, 查询第n个节点 9, 查询倒数第n个节点 10, 链表反转, 使用递归实现 11, 逆序打印 12, 合并二个有序链表, 且结果仍然是有序的 //英雄节点 class HeroNodeLv{ public int no;//英雄排名 public St…
利用C语言判别用户输入数的位数并正逆序输出 #include <stdio.h> void main() {        int i, scanfNum, printfNum, temp = 1, total = 0;        printf("请输入不多于4位的正整数:");        scanf("%d", &scanfNum);        while(scanfNum > 9999 || scanfNum < 0)…
第1周编程练习 查看帮助 返回   第1周编程练习题,直到课程结束之前随时可以来做.在自己的IDE或编辑器中完成作业后,将源代码的全部内容拷贝.粘贴到题目的代码区,就可以提交,然后可以查看在线编译和运行的结果.不要在程序中输出题目要求输出的内容以外的东西. 依照学术诚信条款,我保证此作业是本人独立完成的. 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截止时间之前不限次数提交答案,系统将取其中的最高分作为最终成绩. 1 逆序的三位数(5分)…
#include <stdio.h> #define END_elem 0 struct node { int date; struct node * next; }; //链表创建 node * creat() { int x;     node *head,*last,*p;     head=new node();     last=head; scanf("%d",&x); while(x!=END_elem) {         p=new node();…
例一 #include <stdio.h> //将一整数逆序后放入一数组中(要求递归实现) void convert(int *result, int n) { if(n>=10) convert(result+1, n/10); *result = n%10; } int main() { int n = 123456789,result[20]={}; int i; convert(result, n); printf("%d:\n", n); for(i=0;…
1 逆序的三位数(5分) 题目内容: 程序每次读入一个正三位数,然后输出逆序的数字.注意,当输入的数字含有结尾的0时,输出不应带有前导的0.比如输入700,输出应该是7. 输入格式: 每个测试是一个3位的正整数. 输出格式: 输出逆序的数. 输入样例: 123 输出样例: 321 时间限制:500ms内存限制:32000kb #include <stdio.h> main() { int a, b, c, x, y; scanf("%d", &x); a = x /…
//写一个函数,实现字符串内单词逆序 //比如student a am i.逆序后i am a student. #include <stdio.h> #include <string.h> #include <assert.h> void reverse_string(char *left, char *right) //连续的字符串逆序 { char temp; while (right > left) { temp = *left; *left = *rig…
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<malloc.h> #define LEN sizeof(struct Node) struct Node { int data; struct Node* Next; }; typedef struct Node *PtrToNode; typedef PtrToNode List;//表 typedef PtrToNode Position;//位置 List…
---------------------------------------------------------------------------------------- //  main.c //  demo8 //  Created by weichen on 14/12/18. //  Copyright (c) 2014年 weichen. All rights reserved. #include <stdio.h> int main() { int a = 0; printf…
算法训练 字串逆序   时间限制:1.0s   内存限制:512.0MB      问题描述 给定一个字符串,将这个串的所有字母逆序后输出. 输入格式 输入包含一个字符串,长度不超过100,字符串中不含空格. 输出格式 输出包含一个字符串,为上面字符串的逆序. 样例输入 tsinsen 样例输出 nesnist   #include<stdio.h> #include<string.h> main(){ ]; gets(a); int len=strlen(a); ;i--){ p…
算法训练 字符串逆序   时间限制:1.0s   内存限制:512.0MB      输入一个字符串,长度在100以内,按相反次序输出其中的所有字符. 样例输入 tsinghua 样例输出 auhgnist   #include<stdio.h> #include<string.h> int main(){ ]; scanf("%s",&s); ;i--){ printf("%c",s[i]); } }…
单链表的遍历,逆序,插入,删除 #include<stdio.h> #include<stdlib.h> #include <string.h> #define bzero(a, b) memset(a, 0, b)//windows平台下无bzero函数. 增加宏拓展移植性 struct node { int data; //有效数据 struct node *pNext;//指向下一个节点的指针 }; struct node * make_node(int data…
题目:给定一个正的三位整数,比如123,输出321,但如果是700,输出必须是7不能是007 思路是怎么样的呢? 假设这个正三位数是m,它的百分位是c,十分位是b,个位是a,那么就存在下面的等式. m=c*100+b*10+a*1 现在已知了m,只要知道c.b.a这三个数的值,那么我们直接按abc的顺序输出不就给逆序了吗? 那么怎么知道这三个数的值呢? 首先c是最好求的 c=m/100   //整除的结果就是百位数 利用相似的思路b的值也比较好求. b=(m%100)/10 //m对100取余之…
#include <stdio.h> int main() { ],i; printf("请输入5个整数:\n"); ;i<;i++) scanf("%d",&a[i]); printf("逆序为:\n"); ;i>=;i--) printf("%d\n",a[i]); ; }…
//将字符串中的字符逆序输出,但不改变字符串中的内容. #include <stdio.h> /************found************/ void fun (char *a) { if ( *a ) { fun(a+) ;//使用递归进行数组的逆序输出. /************found************/ printf("%c",*a) ; } } void main( ) { ]="abcd"; printf("…
#include"stdafx.h" #include<stdlib.h> #define LEN sizeof(struct student) struct student { int num; struct student *next; }; int n; struct student *line(void) //生成链表 { struct student *head; struct student *p1, *p2; n = 0; p1 = p2 = (struct…