精华内容
下载资源
问答
  • 解决问题:首先循环输入十个数字存入数组,其次再利用循环依次判断数组每初始值进行比较(本例交换两数位置使用的位运算法,优点:不会溢出、不用创建临时变量)。 #define _CRT_SECURE_NO_WARNINGS #include ...

    问题1:求10 个整数中最大值
    解决问题:首先循环输入十个数字存入数组,其次再利用循环依次判断数组每个值与初始值进行比较(本例交换两数位置使用的位运算法,优点:不会溢出、不用创建临时变量)。

    #define  _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    #include <stdlib.h>
    
    int main() {
    	int a[10], MAX = 0;
    	//循环输入十个数字存入数组
    	for (int i = 0; i < 10; i++) {
    		scanf("%d", &a[i]);
    	}
    	//循环判断数组每个值与最初设定的值比较大小
    	for (int i = 0; i < 10; i++) {
    		if (a[i] > MAX) {
    			a[i] ^= MAX;
    			MAX ^= a[i];
    			a[i] ^= MAX;
    		}
    	}
    	printf("MAX = %d\n", MAX);
    	system("pause");
    	return 0;
    }
    

    结果如下:
    代码结果
    问题2:将3个数从大到小输出
    解决问题:现在键盘上键入三个数a,b,c,然后a和b,a和c,b和c比较大小,如果顺序不正确,创建临时变量将其进行交换,最终得到结果。

    #define  _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    #include <stdlib.h>
    
    //排序
    int order(int a, int b, int c) {
    	int temp = 0;
    	if (a < b) {
    		temp = a;
    		a = b;
    		b = temp;
    	}
    
    	if (a < c) {
    		temp = a;
    		a = c;
    		c = temp;
    	}
    	if (b < c) {
    		temp = b;
    		b = c;
    		c = temp;
    	}
    	printf("a,b,c从大到小:%d, %d, %d\n", a, b, c);
    	return 0;
    }
    int main() {
    	int a, b, c;
    	scanf("%d %d %d", &a, &b, &c);
    	order(a, b, c);
    	system("pause");
    	return 0;
    }
    

    代码结果
    问题三:求两数的最大公约数
    解决问题:使用穷举法进行求解

    #define  _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    #include <stdlib.h>
    
    //求最大公约数
    int measure(int x, int y)
    {
    	int temp = 0;
    	for (temp = x; ; temp--)
    	{
    		if (x % temp == 0 && y % temp == 0)
    			break;
    	}
    	return temp;
    }
    int main() {
    	int x, y, temp;
    	scanf("%d %d", &x, &y);
    	printf("最大公约数为:%d", measure(x, y));
    	system("pause");
    	return 0;
    }
    

    结果如图

    展开全文
  • 一天一练之基数排序

    2013-01-09 19:26:01
    一.算法介绍。  基数排序所用到的思想和前几练所讲到的排序思想完全不同。前几练的排序只是在进行...比如对一组没有操作3位的自然数,我们可以将每自然数划分为3逻辑关键字,分别为百位数字为k1关键字,十位

    一.算法介绍。
            基数排序所用到的思想和前几练所讲到的排序思想完全不同。前几练的排序只是在进行元素之间大小的比较,然后交换位置来进行的排序。而基数排序不需要进行元素之间的比较和位置的交换。基数排序是一种借助多关键字进行排序的思想。我们可以对单一关键字进行逻辑划分为多个关键字。比如对与一组没有操作3位的自然数,我们可以将每个自然数划分为3个逻辑关键字,分别为百位数字为k1关键字,十位数字为K2关键字,个位数字为k3关键字,这样我们就把一个数字分为了三个关键字来表示。我们就可以通过这三个关键字来对一组数据进行“分配”和“收集”。

      所谓的分配,就是按照某一个关键字如按照k1关键字,来给这组数据进行分配,将元素在k1关键字上相同的元素放在一起,对于自然数自然可以分为0,1,2,3,4,5,6,7,8,9这十组不同的K1关键字,也就是说将一组数据按照k1关键字可以分为10组(有可能出现某一组或几组没有任何数据的情形)。这就是所谓的分配。

      收集的意思,就是在一次分配的基础上,在次按照某种顺序将这组数据进行排列,然后构造成为一个序列,当然如果只是进行了一次分配自然不可能收集到一组有序的序列,我们接下来的任务就是再次按照某个关键字如k2来进行分配,然后在收集,直到将所有的关键字都分配的一次,那么最后一次的收集到的数据将是排序后的序列了。

       看到这里,各位可能有一点不清楚的地方,按照关键字来进行分配,那么按照怎么样的顺序来选择关键字了,是先按照k1,k2,k3还是k3,k2,k1的顺序来分配了?还是根本不需要对关键字的选择顺序进行考虑。当然,我写这么多不可能跟你说不需要考虑顺序。so?那顺序到底是怎么样的了?

                   对关键字的选择可以有两种不同的方式,一种是MSD(最高位优先),也就是说按照k1,k2,k3来进行关键字的选择,还有一种就是LSD(最低位优先),也就是按照k3,k2,k1的顺序来进行关键字的选择。由于对自然数来说,每个关键字所在的范围都是0-9,所以选择LSD方法,更为的方便。

    二.源码分析
    由于在分配的时候,需要将元素像扑克牌一样的一一堆在一起,然后收集的时候按照先进先出的特定来收集,所以自然而然的想到了要使用队列来保存每一个关键字的数据元素。而对于自然数关键字有10个,所以需要用10个队列来保存。

    #include<iostream>

    using namespace std ;

    #define MAX_SIZE 100
    #define QUEUECOUNT 10
    //链表结点
    struct node
    {
     int data;
     struct node* next ;
    };

    //队列设计
    struct Queue
    {
     int data[MAX_SIZE];
     int front,rear;
    };

    //函数定义
    //初始化单一队列
    void InitQueue(Queue & _queue)
    {
     _queue.front = 0 ;
     _queue.rear = 0 ;
     memset(_queue.data,0,MAX_SIZE);
    }

    //初始化所有队列
    void Init(Queue queue[QUEUECOUNT])
    {
     for (int i = 0 ; i< QUEUECOUNT ; i++)
     {
      InitQueue(queue[i]);
     }
    }

    //判断队列是否为空
    bool IsEmpty(Queue&_queue)
    {
     if (_queue.front == _queue.rear)
     {
      return true;
     }
     else
      return false;
    }

    //入队列
    void EnQueue(Queue&_queue,int data)
    {
     _queue.data[_queue.rear++]=data;
    }

    //出队列
    int DeQueue(Queue&_queue)
    {
     if (!IsEmpty(_queue))
     {
      return _queue.data[_queue.front++];
     }
     else
      return INT_MAX;
    }
    //进行分配的函数
    void Distribute(node * head,Queue queue[QUEUECOUNT],int key)//元素是保存在一个链表中的,进行分配的意思就是将链表
    {          //中的数据按照关键字0-9来聚簇       
     node * p = head->next ;
     switch (key)//key代表指定的关键字,如3代表上文中的k3关键字
     {
     case 3:
      for (;p != NULL;p=p->next)
      {
       int index = p->data%10;//计算出个位数是多少,这个数就是关键字,然后入在相对应的队列中
       EnQueue(queue[index],p->data);
      }
      break;
     case 2:
      for (;p!=NULL;p = p->next)
      {
       int index = (p->data/10)%10;//同上,这里计算的是十位数
       EnQueue(queue[index],p->data);
      }
      break;
     case 1:
      for (;p!=NULL;p=p->next)//这里计算的是百位数
      {
       int index = p->data/100;
       EnQueue(queue[index],p->data);
      }
      break;
     }
    }

    //收集函数
    void Collect(node * head,Queue queue[QUEUECOUNT])//收集函数的意思是将10个关键字队列中的元素在此组合成一个链表,按照从0关键字开始,至9关键字结束 {
     node * temp = head ;
     for (int i = 0 ;i<QUEUECOUNT ; i++)
     {
      while (!IsEmpty(queue[i]))
      {
       node * p = new node ;
       p->next  = NULL ;
       p->data = DeQueue(queue[i]);
       temp->next = p ;
       temp = p ;
      }
     }
    }

    //基数排序函数
    void RadixSort(node *head,Queue queue[QUEUECOUNT])
    {
     for (int i =3 ; i >=1 ; i--)
     {
      Distribute(head,queue,i);
      Collect(head,queue);
     }

     node * p = head->next ;//将排序后的元素输出查看
     for (;p!=NULL;p=p->next)
     {
      cout<<p->data<<endl;
     }
    }

    //测试程序
    int main()
    {
     Queue queue[QUEUECOUNT];
     Init(queue);
     node * head = new node ;
     node * temp = head ;
     cout<<"请输入将要排序的元素的个数"<<endl;
     int i = 0 ;
     cin>>i ;
     for (int j = 0 ; j<i ;j++)
     {
      node * p =new node ;
      p->next = NULL ;
      cout<<"请输入元素:"<<endl;
      cin>>p->data;
      temp->next=p;
      temp=p;
     }

     RadixSort(head,queue);
     cin>>i;

     return 0 ;


    }

     

      上述过程不清楚的可以查阅《c语言版数据结构》严蔚敏。上面有更加详细的解释。

    三.总结
        基数排序时效率较高的排序方式,它拥有的思想是一种分配和收集的思想,掌握这种排序的方式,有助于我们思维的开阔。今天的总结就到这里。

    展开全文
  • 【单选题】整型变量x中存放了一个两位数,要将这个两位数的个位数字和十位数字交换位置,例如,13变成31,正确 Python表达式是【单选题】下列关于脑卒中患者翻身训练说法中错误是 ( )【单选题】现代康复护理提倡...

    【单选题】整型变量x中存放了一个两位数,要将这个两位数的个位数字和十位数字交换位置,例如,13变成31,正确的 Python表达式是

    【单选题】下列关于脑卒中患者翻身训练的说法中错误的是 ( )

    【单选题】现代康复护理提倡的护理方式是( )

    【单选题】下面 Python循环体执行的次数与其他不同的是

    【单选题】为了给整型变量xy赋初值5下面正确的python赋值语句是

    【单选题】Python语句s={"a",1,"b",2} ;print(s["b"])的运行结果是

    【单选题】Python程序中对于表达式123+’xyz’,解释器将抛出( )错误信息。

    【单选题】Python语句 print(chr(65)的运行结果是

    【单选题】关于 Python字符串,下列说法错误的是

    【单选题】为了给整型变量x,y、z赋初值10,下面正确的python赋值语句是

    【单选题】患者女性,43岁。中暑,体温41.5°C,遵医嘱灌肠为患者降温,正确的做法是( )

    【单选题】Python语句d={1:"a",2:"b",3:"c"}; print(len(d))的运行结果是

    【单选题】Python语句nums=set([1,2,2,3,3,3,4)];print(len(nums)的输出结果是

    【单选题】Python程序中假设列表s=[1,2,3],如果语句中使用s[3],则解释器将抛出( )错误信息。

    【单选题】药物保管中,剧毒药瓶上的标签颜色是( )

    【单选题】Python语句 print(type(1/2)的输出结果是

    【判断题】图书是指内容比较成熟,资料比较系统,没有完整装帧形式的出版物

    【单选题】以下for语句结构中,( )不能完成1~10的累加功能

    【单选题】下面if语句统计“成绩( score)优秀的男生以及不及格的男生”的人数,正确的语句为

    【单选题】执行下列 Python语句将产生的结果是 i = 1 if(i):print (True) else: print (False)

    【单选题】发挥药效最快的给药途径是( )

    【单选题】如果python程序中包括零除运算,解释器将在运行时抛出( )错误信息

    【单选题】python语句“f = lambda x,y:x*y;print(f(12,34)) “的程序运行结果是

    【单选题】Python表达式sqrt(4)*sqrt(9)的值为

    【单选题】下列选项中,不属于 Python特点的是

    【单选题】以下 Python注释代码,不正确的是()

    【单选题】python语句“f1 = lambda x:x*2;f2=lambda x:x**2;print(f1(f2(2))) “的程序运行结果是

    【单选题】不属于小儿脑性瘫痪的高危因素是( )

    【单选题】常用康复护理技术不包括技术( )

    【单选题】Python语句s1=[4,5,6];s2=s1;s1[1]=0;print(s2)的运行结果是

    【单选题】康复医学的服务机构包括 ( )

    【单选题】Python语句 print(type(12)的输出结果是

    【单选题】间歇导尿期间每日饮水量控制在( )以内。

    【单选题】Python表达式中,可以使用 ()控制运算的优先顺序

    【单选题】Python语言属于

    【单选题】执行下列 Python语句将产生的结果是 x = 2; y = 2.0 if(x==y): print("Equal") else: print("Not Equal")

    【单选题】Python语句x=car;y=2; print(x+y)的输出结果是

    【单选题】皮内注射是将药液注入( )

    【单选题】如果 Python程序中试图打开不存在的文件,解释器将在运行时抛出( )错误信息。

    【单选题】以下关于异常处理ty语句块的说法,不正确的是(

    【单选题】python 语句print(r" Good")的运行结果是

    【单选题】Python语句s= "hello’; print(s[1:3])的运行结果是

    【单选题】python语句a = [1,2,3,None,(),[],];print(len(a))的输出结果是

    【单选题】下面程序段求两个数x和y中的大数( )是不正确的

    【单选题】Python语句 print(type(1J))的输出结果是

    【单选题】在python中,合法的标识符是

    【单选题】如果python程序中没有导入相关模块时,解释器将在运行时抛出( )错误

    【单选题】下面if语句统计满足“性别( gender)为男、职称(rank)为副教授、年龄(age)小于40岁”条件的人数,正确的语句为( )

    【判断题】“中图法”采用的是一种树状等级式目录结构

    【单选题】( )是 Python官方的扩展库索引,所有人都可以下载第三方库或上传自己开发的库到其中。

    展开全文
  • 数据结构算法.xmind

    2020-06-19 17:04:23
    将元素个、十、百位依次放到桶子上(第一次就是放个位,第二次放十位) 依据每列回收桶子,两个for循环 外排序 查找算法 二分查找 分块查找 哈希查找 贪心算法 求最小生成树Prim算法和...
  • Java和Perl不同,你不必把头埋进100多页文档中努力学习才可以写出一象样程序。只要了解一些基本语法和语言特色,你就可以开始你PHP编码之旅了。之后你在编码过程中如果遇到了什么麻烦,还可以再去翻阅...
  • 操作系统精髓设计原理答案

    热门讨论 2011-11-19 15:15:08
    1.4、假设有一微处理器产生一16位的地址(例如,假设程序计数器和地址寄存器都是16位)并且具有一16位的数据总线。 a.如果连接到一16位存储器上,处理器能够直接访问的最大存储器地址空间为多少? b.如果...
  • 即12321是回文数,个位与万位相同,位与千位相同。  【程序22】  题目:请输入星期几第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母。  1.程序分析:用情况语句比较好,如果第一...
  • 电子系统非常广泛的应用领域内,到处可见到处理离散信息的数字电路。 数字电路制造工业的进步,使得系统设计人员能在更小的空间内实现更多的功 能,从而提高系统可靠性和速度。 集成电路的类型很多,从大的方面可以...
  • 在香港项目测试中,发现ISDN话机拨新业务号码时,若一位一位的拨至18位,不会有问题。但若先拨完号码再成组发送,会导致MPU死机。 处理过程: 查错过程很简单,按呼叫处理的过程检查代码,发现某一处的判断有误...
  • C#.net_经典编程例子400

    热门讨论 2013-05-17 09:25:30
    第1章 窗体界面设计 1 1.1 菜单应用实例 2 实例001 带历史信息菜单 2 实例002 菜单动态合并 3 实例003 像开始菜单一样漂亮菜单 4 实例004 任务栏托盘菜单 5 实例005 可以拉伸...
  • 蓝桥杯 填空题_1

    2012-04-14 19:31:11
    下列代码,把一2位整数交换十位与个位的位置。请填写缺失的代码。 例如:当x=95时,返回59。 int switch_num(int x) {  int a = x / 10;  int b = x % 10;  return __________________; } ...

    下列代码,把一个2位整数交换十位与个位的位置。请填写缺失的代码。

    例如:当x=95时,返回59

    int switch_num(int x)

    {

            int a = x / 10;

            int b = x % 10;

            return __________________;

    }

    分析:

    x/10得到十位数字,x%10得到个位数字。

    解:

    int switch_num(int x)

    {

            int a = x / 10;

            int b = x % 10;

            return b*10+a;

    }


    展开全文
  • 入门学习Linux常用必会60命令实例详解doc/txt

    千次下载 热门讨论 2011-06-09 00:08:45
    所以这选项当然没有时间参数,但是可以输入一用来解释讯息,而这信息将会送到每使用者。 -F:在重启计算机时强迫fsck。 -time:设定关机前时间。 -m: 将系统改为单用户模式。 -i:关机时显示系统...
  • 很强ccna教程

    2013-12-02 15:02:54
    是一16位的编号,从1至65536 美国Internet数字注册机构(ARIN)是为每AS分配编号的管理员 3、管理距离 管理距离是路由选择进程用来从多种路由选择协议提供的路径中选择一条路径的机制,每种IP路由选择协议都有一...
  • java常用工具类使用

    热门讨论 2012-03-19 20:11:37
    格式化目的是把一对象以不同格式表示,以满足不同环境对格式要求,比如:前面学习Date对象实质是一以毫秒值表示时间,但是在不同国家和地区表示方式不一样。那么就需要对Date进行格式化处理。接下来...
  • 5.7给定一不多于5位的正整数,要求:①求它是几位数;②分别打印出每一位数字;③按逆序打印出各位数字。例如原数为321,应输出123。 13 5.8企业发放的奖金根据利润提成。利润I低于或等于10万元时,奖金可提10%;...
  • java经典编程题

    2013-10-21 19:18:27
    9.给一不多于五位的正整数,求它是几位数,并逆序输出它的各位数字; 10.请输入星期几的第一字母来判断是星期几,如果一样,则判断第二字母; 11.求一3*3矩阵对角线元素之和; 12.有一已经排好序的数组,...
  • 输入一正整数n (1),再输入n 整数,将最小值第一交换,最大值最后一交换,然后输出交换n 数。 (25)抓住肇事者 一辆卡车违反交通规则,撞人后逃跑。现场共有三目击者,但都没有记住车号,...
  • javascript入门笔记

    2018-05-15 15:01:07
    特点 :将 a 和 b 先转换为二进制,按位比较,对应位置的数字都为1的话,那么该位的整体结果为1,否则就为0 ex:5 & 3 5 :101 3 :011 =========== 001 结果 :1 使用场合:任意数字与1做按位与操作,可以...
  • 16进制有0--F十六数字,它为表示的数字采用了A、B、C、D、E、F六数字,它们和进制的对应关系是:A对应于10,B对应于11,C对应于12,D对应于13,E对应于14,F对应于15。而且,16进制数和二进制数间有一...
  • java 经典习题.doc

    2009-09-16 11:32:59
    1.程序分析:可填在百位、十位个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。 【程序12】 题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%; 利润高于10万...
  • 096 查找销售量处于中间位置的部门 186 ◎排名函数 188 097 对员工上半年销售业绩进行排名 188 098 查询指定学生成绩排名 190 099 求同龄异性员工人数 194 ◎频率分布函数 196 100 求跳远测试中出现...
  • 正则表达式

    2014-12-03 14:51:39
    但我们还没有一种方法可以用来描述具有任意多数位的数字或者是一 字符串.这串由三字符以及跟随在字母之后的一位数字构成.这些复杂的模式使用的正则表达式语法指定了该表达式中每元素要重复出现的次数. ...
  • C语言经典例题100道

    2011-01-10 13:14:03
    学习使用按位与 & 52.学习使用按位或 | 53.学习使用按位异或 ^ 54.取一整数从右端开始4~7位。 55.学习使用按位取反~ 56.用circle画圆形 57.学用line画直线 58.用rectangle画方形 59.画图综合例子 60.画图综合...
  • 空当接龙纸牌游戏-古典 ...但是,某些游戏实际上其他游戏相同,因为分配给纸牌花色是任意,也可以交换列。 考虑这些因素后,大约有1.75×1064不同游戏。 我们希望您享受游戏乐趣 :-) 支持语言:English
  • 图书管理系统毕业设计+源码-java

    千次下载 热门讨论 2012-05-06 13:45:09
    一世纪是信息时代,所以信息的交换和信息流通显 特别重要。因此、图书馆使用计算机来管理成为必然。 第二章 绪论 第一节 设计初衷 第二节 设计任务   第三节 JAVA介绍 JAVA是INTERNET开发强大...

空空如也

空空如也

1 2 3 4 5
收藏数 87
精华内容 34
关键字:

个位与十位的数字交换位置