自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 C 二维数组排序

题目:将二维数组中的每一行进行排序,第一行是整个数组中最小值所在行,第二行是整个数组除第一行的最小值所在行,依次类推。分析:通过一个参数是二维数组的搜索函数,寻找每次从第n行开始数组中的最小值,并且返回最小值所在行程序如下:#include#include#includeint search(int  arr[][5], int n);//查找数组中最小值的函数in

2016-10-31 21:09:48 2115 1

原创 C 交叉存放字符串

题目:编写函数void change(char *a,char *b,char*c)。 函数功能是首先把b指向的字符串逆向存放,然后将a指向的字符串和b指向的字符串按排列顺序交叉合并到c指向的数组中,两个字符串中过长的剩余字符接在c指向数组的尾部。程序如下:#include#includevoid change(char *a, char *b, char*c);//将a,b字

2016-10-30 21:20:35 375

原创 C 默森尼数

题目:找出7个默森尼数。法国数学家默森尼曾提出下列公式:Mp=2^p-1。当p是素数并且Mp也是素数时,称Mp为默森尼数,例如,p=5,Mp=2^5-1=31,5和31都是素数,因此31是默森尼数;而Mp=2^11-1=2047,11是素数,2047不是素数,因此2047不是默森尼数.分析:调用判断素数函数,循环判断.程序:#include#includeint ispri

2016-10-29 21:32:37 1407

原创 C 寻找一个字节的整数中1的个数

题目:查找1个字节的整数中1的个数思路:将整数转化为二进制形式,利用按位与判断每位是否为1程序如下:#include       int bitnum(int num);/*计算1的位数的函数*/void bitout(int num);/*输出二进制形式的函数*/int  main(){int  num;printf("enter num(0 to 255):

2016-10-28 21:25:42 618

原创 C 字符串数组冒泡排序

题目:实现字符串数组的冒泡排序思路:利用二维数组存储字符串,再用strcmp比较字符串大小,strcpy用来赋值程序如下:#include#includeint main(){int i, j,n;char temp[20];char arrs[5][20];printf("输入5个字符串:");for (i = 0; i {scanf("%s"

2016-10-28 21:20:21 676

原创 C josephus环

题目:有n个人围成一圈,顺序排号,从第一个开始报数(从1到3报数),凡报到3的人退出圈子,问最后最后留下的是原来第几号的那位.分析:这是一个经典的josephus环问题,使用数组实现,通过循环查找被删除的项。程序如下:#include void josephus(int num, int start, int distance);int main(){int num

2016-10-24 21:28:24 220

原创 C 直接选择排序

C中的经典排序算法,直接选择排序,是最为简单的排序算法。通过for循环依次从数组首元素开始,与后面的元素依次比较,找到最小的项的下标,并与之交换,最后成功排序。程序如下:#include int main(){int arr[10] = { 3,2,73,15,67,9,26,1,53,35 };int i, j, k,temp;for (i = 0; i{k

2016-10-23 22:15:14 330

原创 C 最长数字子串

题目:查找字符串中长度最长的数字子串,返回最长子串在数组中的位置,项数,长度。分析:利用循环逐个查找字符串,找到数字串时记下首字母位置,长度,再与其他子串比较,得出最长子串。程序如下:#include#includechar * s_gets(char * st, int n);int main(){char str[30];printf("please ent

2016-10-22 21:50:20 527

原创 C 一个数的立方等于连续奇数和

题目:验证任意一个正整数的立方都是一系列连续奇数的和。思路:根据举例发现任何一个数的立方都可以由中项为这个数的平方,项数为这个数,的一系列连续奇数的和表示程序如下:#include#includeint main(){int i, j;int arr[20];int temp,sum;for (i = 2; i {sum = 0;temp = (

2016-10-20 20:43:57 6037

原创 C 素数

题目:计算100到200间的素数,并在一行输出五个素数 。分析:通过for循环寻找能被整除的数,找到就则不是素数。程序如下:#includeint main(){int i,j,num;j = 0;for (num = 100; num {for (i = 2; i if (!(num%i))break;if (i > (num / i)){

2016-10-17 21:15:16 360

转载 C 高精度pi

如下代码能求解出高精度的PI值[cpp] view plain copy#include    #include      long a=10000,b,c=2800,d,e,f[2801],g;     int main()   {       for(;b-c;)           f[b++]=a/5;   

2016-10-16 20:52:38 814

原创 C 菱形

题目:输出如图所示的菱形          *         ***        *****       *******      *********     ***********      *********       *******        *****         ***          *分析:通过for循环依次打印*和

2016-10-15 22:37:33 430

原创 C strcmp 与 strncmp

strcmp是C语言字符串比较函数。如果两个字符串参数相同,该函数就返回0,否则返回非零值。看以下程序:#include#include#define ANSWER "Grant"#define SIZE 40char * s_gets(char * st, int n);int main(){char try[SIZE];puts("Who is buri

2016-10-13 21:29:56 246

原创 C strcmp 与 strncmp

strcmp是常见的字符串比较函数,如果两个字符串参数相同,改函数就返回0,否则返回非零值。看以下程序:#include#include#define ANSWER "Grant"#define SIZE 40char * s_gets(char * st, int n);int main(){char try[SIZE];puts("Who is buri

2016-10-13 21:15:43 344

原创 C 字符串

今天讲讲有关字符串的知识。创建一个字符串可以通过字符数组或者是指向字符串的指针实现。然而这两者看上去差不多,起始还是有一定的差别的。看如下程序:#define MSG "hello"#includeint main(){const char arr[] = MSG;const char *ptr=  MSG ;//*ptr = 'a'; errorprintf(

2016-10-11 20:21:38 181

原创 C 自定义输入函数

题目:自定义两个输入函数,第一个打印字符串,不添加'\n',第二个打印字符串,并统计打印的字符数分析:第一个函数利用传入的指针参数循环判断是否为'\n',否则putchar,指针指向下一个。第二个函数增加一个计数变量。程序如下:#includevoid put1(const char * string);int put2(const char * string);int

2016-10-10 20:54:32 1178

原创 C 数组插入排序

题目:有一个已经排好序的数组,现在加入一个数,要求按原来的规律把它插入到数组中程序分析:首先判断该数是否大于最后一个数,然后再考虑插入中间数的情况,插入后此元素之后的数,依次向后移动一个位置。程序如下:#includeint main(){ int a[11]={1,4,6,9,13,16,19,28,40,100}; int temp1,temp2,numbe

2016-10-10 20:46:27 400

原创 C 冒泡排序

冒泡排序是数组中的入门排序算法。算法思路如下:(从小到大排序)存在10个不同大小的气泡,由底至上地把较少的气泡逐步地向上升,这样经过遍历一次后,最小的气泡就会被上升到顶(下标为0),然后再从底至上地这样升,循环直至十个气泡大小有序。在冒泡排序中,最重要的思想是两两比较,将两者较少的升上去程序如下:#include  void swap(int *a, int *b);in

2016-10-08 21:35:16 444

原创 C 返回一个数组的最大项的项数

题目:编写一个函数,返回存储在double类型数组中最大值的下表,并在一个简单的程序中测试改函数。程序如下:#includeint arr_max_i(int arr[], int n);int main(){int arr[10] = { 13,23,4,6,35,39,21,5,9,1 };printf("arr_max_i=%d\n", arr_max_i(arr

2016-10-08 21:33:04 389

原创 C 进制转换程序

今天写一个简易的进制转换程序,能够转换2到10中的任意一个进制。原理就是十进制转换成二进制的取余除法。程序如下:#includevoid to_base_n(int n, int b);int main(){int num, base;printf("enter num and base :");while (scanf("%d %d", &num, &base)

2016-10-06 20:52:11 341

原创 C fibonaccio 递归与循环

斐波那契数列的定义如下,第一个和第二个数字是1,而后续的每一个数字都是其前两个数字之和。例如:1,1,2,3,5,8....斐波那契数列可以用递归和循环两种方法实现。然而使用递归时用到了双递归,即函数每一次递归都要调用本身两次。这么做非常浪费计算机资源,因为随着每次递归,会生成指数级增长的变量。用循环的话就没有这个问题,但是程序比较繁琐。递归程序如下:unsigned long fibon

2016-10-05 21:05:22 411

原创 C 重写power函数 递归与循环

重写power()函数,返回一个double型的正整数的任意次幂。另外要处理0的任意次幂都为0,任何数的任意次幂都为1(函数应报告0 的 0 次幂未定义,并将该值返回1)。分别使用循环和递归实现。利用循环程序如下:#includedouble power(int n, int x);int main(){int num, x;printf("please enter n

2016-10-04 21:41:47 828

原创 C 递归和倒序计算

递归在处理倒序时非常方便,在下面的问题中,使用递归比循环简单。我们要解决的问题是,编写一个函数,打印一个整数的二进制数。在二进制中,奇数的末尾一定是1,偶数的末尾一定是0,利用5%2即可确定5的二进制数的最后一位是1还是0.一般而言,对于数字n,其二进制的最后一位一定是n%2.因此,计算的第一位数字实际是待输出二进制数的最后一位。利用这一规律,在递归调用前计算n%2,在递归调用后打印计算结果。这样

2016-10-03 21:53:11 819

原创 C 菜单浏览

许多程序都把菜单作为用户界面的一部分,然后程序根据用户所选项完成任务。作为一名程序员,自然希望这一过程能够顺利进行。因此,第一个目标是:当目标遵循指令程序顺利运行;第二个目标是:当用户没有遵循指令时,程序也能顺利运行。显而易见,要实现第二个目标的难度更大,因为很难预料用户在使用程序时的所有错误情况。下面看一个有着用户友好特性的菜单浏览程序:#includechar get_choice

2016-10-02 21:10:07 518

原创 C 分解质因数与完数

今天再来做两道类似的循环题目,用到了数学知识中的因数与质数。题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于(小于的时候,继续执行循环)n,则说明分解质因数的过程已经结束,另外 打印出即可。(2)但n能被k整除,则应打印出k的值,并用n除

2016-10-01 21:41:46 408

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除