
MOOC学习
文章平均质量分 52
melody_jae
这个作者很懒,什么都没留下…
展开
-
程序设计入门C语言 --- 奇偶个数
题目内容:你的程序要读入一系列正整数数据,输入-1表示输入结束,-1本身不是输入的数据。程序输出读到的数据中的奇数和偶数的个数。输入格式:一系列正整数,整数的范围是(0,100000)。如果输入-1则表示输入结束输出格式:两个整数,第一个整数表示读入数据中的奇数的个数,第二个整数表示读入数据中的偶数的个数。两个整数之间以空格分隔。输入样例:9 3 4 2 5 7 -1 ...原创 2018-07-17 15:30:19 · 1932 阅读 · 1 评论 -
二分查找
上篇博客中,我们以一个小例子探索了“搜索”初步,通过介绍的两种方法,可以观察到:在数组中,当搜索某一数据时,我们采用的方法往往是遍历整个数组,然后对每一个数据依次进行比对检验,观察是否是要寻找的那个数据。这是一种普遍的处理方式,但是,当数据有序排列时,这样的方式开销会不会大了点呢?所以,下面就介绍一种新的解决办法--->二分查找。二分查找又称折半查找,具体过程如下:(假设表中元素是按升序...原创 2018-09-12 12:31:49 · 1219 阅读 · 0 评论 -
搜索初步----一个小例子
本篇博客主要以一个小例子来初步探索一下“搜索”,包括程序的逻辑结构设计例:在美元中,硬币是有名字的,它有一些英文单词去对应的硬币的面值,比如1分钱叫做penny,5分钱叫做nichel......(有一个数字对应一个英文单词)。如果要编写一个程序做搜索,用户输入一个数字(面额),程序输出对应的英文,那么如何实现?分析:本题的关键点是如何建立“数字面值”与“英文”这两者之间的联系。可以分别设...原创 2018-09-11 23:47:30 · 292 阅读 · 0 评论 -
求两个数的最大公约数
题目:输入两个数n1和n2,输出它们的最大公约数例: 输入12 18 输出6分析:计算机最擅长枚举。可以先找出两个数中的最小数字,用min保存下来,作为循环的条件,然后依次判断1~min之间的数字,看其是否满足:能同时整除n1与n2,记下这个数字t。知道循环结束,则曾经记下的t的最大值就是n1与n2的最大公约数。方法一:“枚举法”“枚举”具体步骤如下---&...原创 2018-09-08 11:23:02 · 1498 阅读 · 1 评论 -
总结篇:判断素数
之前我们有做过判断素数的题,(链接在此-->https://blog.youkuaiyun.com/melody_1016/article/details/82502670)本篇博客在之前的基础上做一个总结,介绍几种不同的方法,提供一种新的思路,供今后思考与学习。题目:输入一个非负数,判断其是否是素数首先,最常规也是我们最开始写代码的思路就是按照素数的定义,去n依次去除2~n-1之间的数,观察能...原创 2018-09-11 18:25:18 · 297 阅读 · 0 评论 -
判断一个数是否为素数
如题,这是初学C语言时最早接触的题目。思路:素数即为“在大于1的自然数中,除了1和它本身外没有因子”。所以可以用其分别去除2到num之间的数,如果能被整除,则表明num不是素数。关键点是最后要检查i与num的值是否相等代码:#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>...原创 2018-09-07 21:38:01 · 20315 阅读 · 1 评论 -
用C语言简单实现一个可变数组
我们知道,C语言的数组是固定大小的,尽管可以用一个变量来定义数组大小,但是一旦定义了,在大小在运行过程中无法改变。如果一开始就定义一个容量较大的数组,那么由于不知道实际要存放多少元素,可能会造成空间浪费或者还是不够用。所以,本篇博客,我们就用C语言实现一个可以变大小的数组。先上代码:头文件array.h#ifndef _ARRAY_H_#define _ARRAY_H_cons...原创 2018-08-23 00:38:39 · 29720 阅读 · 14 评论 -
程序设计入门C语言 --- 鞍点
题目内容:给定一个n*n矩阵A。矩阵A的鞍点是一个位置(i,j),在该位置上的元素是第i行上的最大数,第j列上的最小数。一个矩阵A也可能没有鞍点。你的任务是找出A的鞍点。 输入格式:输入的第1行是一个正整数n, (1<=n<=100),然后有n行,每一行有n个整数,同一行上两个整数之间有一个或多个空格。 输出格式:对输入的矩阵,如果找到鞍点,...原创 2018-08-01 14:32:55 · 1356 阅读 · 0 评论 -
程序设计入门C语言 --- 念整数
题目内容:你的程序要读入一个整数,范围是[-100000,100000]。然后,用汉语拼音将这个整数的每一位输出出来。如输入1234,则输出:yi er san si注意,每个字的拼音之间有一个空格,但是最后的字后面没有空格。当遇到负数时,在输出的开头加上“fu”,如-2341输出为:fu er san si yi 输入格式:一个整数,范围是[-100000,100...原创 2018-07-20 13:24:37 · 2275 阅读 · 0 评论 -
程序设计入门C语言 --- 素数和
题目内容:我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。 输入格式:两个整数,第一个表示n,第二个表示m。 输出格式:一个整数,表示第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个...原创 2018-07-19 10:24:41 · 6305 阅读 · 5 评论 -
程序设计入门C语言 --- 数字特征值
题目内容:对数字求特征值是常用的编码算法,奇偶特征是一种简单的特征值。对于一个整数,从个位开始对每一位数字编号,个位是1号,十位是2号,以此类推。这个整数在第n位上的数字记作x,如果x和n的奇偶性相同,则记下一个1,否则记下一个0。按照整数的顺序把对应位的表示奇偶性的0和1都记录下来,就形成了一个二进制数字。比如,对于342315,这个二进制数字就是001101。这里的计算可以用下面的表格...原创 2018-07-17 12:01:02 · 910 阅读 · 0 评论 -
程序设计入门C语言 --- 逆序的三位数
题目内容:逆序的三位数: 程序每次读入一个正三位数,然后输出逆序的数字。注意,当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。 提示:用%10可以得到个位数,用/100可以得到百位数...。将这样得到的三个数字合起来:百位*100+十位*10+个位,就得到了结果。 注意:除了题目要求的输出,不能输出任何其他内容,比如输入时的提示,输出时的...原创 2018-07-18 09:32:18 · 47534 阅读 · 6 评论 -
程序设计入门C语言 --- 分队列
题目内容:班级第一次列队,通常老师会让同学按身高排成一列,然后1、2报数,喊到1的同学向前一 步,就这样,队伍就变成两列了。假设现在一个班级有n个同学,并且他们已经按身高排成 了一列,同学按身高从1到n编号,你能告诉我最后哪些编号的同学站在了第一列么? 输入格式:输入一个正整数n,表示班级的人数。输出格式:按顺序输出所有在第一列的同学对应的编号,每两个编号之间用一个空格隔开,最...原创 2018-07-18 09:13:34 · 10815 阅读 · 11 评论 -
程序设计入门C语言 --- 高精度小数
高精度小数(10分)题目内容:由于计算机内部表达方式的限制,浮点运算都有精度问题,为了得到高精度的计算结果,就需要自己设计实现方法。(0,1)之间的任何浮点数都可以表达为两个正整数的商,为了表达这样两个数的商,可以将相除的结果以多个整数来表示,每个整数表示结果的一位。即商的第一位用一个整数来表示,第二位用另一个整数来表示,以此类推,就可以输出一个高精度的除法结果了。如16/19的结...原创 2018-07-23 16:57:07 · 1060 阅读 · 1 评论 -
程序设计入门C语言 --- 时间换算
题目内容:UTC是世界协调时,BJT是北京时间,UTC时间相当于BJT减去8。现在,你的程序要读入一个整数,表示BJT的时和分。整数的个位和十位表示分,百位和千位表示小时。如果小时小于10,则没有千位部分;如果小时是0,则没有百位部分;如果小时不是0而分小于10分,需要保留十位上的0;如果小时是0而分小于10分的,则不需要保留十位上的0。如1124表示11点24分,而905表示9点5分,36表...原创 2018-07-17 17:57:01 · 8938 阅读 · 6 评论 -
选择排序-初步探索
本篇博客主要初探选择排序。我们以前接触过“在一组数中,如何找出最大的那个数字?”思路就是先默认第一个数字最大,然后遍历之后的数字,将其与max比较大小,不断更新max,最后循环结束,max的值就是最大数字or最大数字的下标。本章的“选择排序”也是这个思路,只不过多了层循环的逻辑(假设要求升序排练):每次循环都要找出数组中的最大的那个数字,将其与数组中的最后一个数字交换,这样每次都能把一个最大的...原创 2018-09-14 17:27:01 · 161 阅读 · 0 评论