题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。 #include "stdio.h"#include "conio.h"main(){ int i,j,k……继续阅读 » 4年前 (2021-03-20) 1696浏览 1897个赞
以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。#include "stdio.h"#include "conio.h"main(){ int day,month,year,sum,leap; printf("\npl……继续阅读 » 4年前 (2021-03-20) 1859浏览 1427个赞
程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。#include "stdio.h"#include "conio.h"main(){ int x,y,z,t; scanf(&qu……继续阅读 » 4年前 (2021-03-20) 2146浏览 2315个赞
可先用’*’号在纸上写出字母C,再分行输出#include "stdio.h"#include "conio.h"main(){ printf("Hello C-world!\n"); printf(" ****\n"); prin……继续阅读 » 4年前 (2021-03-20) 2204浏览 1598个赞
程序分析:分行与列考虑,共9行9列,i控制行,j控制列#include "stdio.h"#include "conio.h"main(){ int i,j,result; printf("\n"); for (i=1;i<10;i++) { for(j=1……继续阅读 » 4年前 (2021-03-20) 1709浏览 394个赞
用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格#include "stdio.h"#include "conio.h"main(){ int i,j; for(i=0;i<8;i++) { for(j=0;j<8;j++) if((i+j……继续阅读 » 4年前 (2021-03-20) 2670浏览 673个赞
程序分析:用i控制行,j来控制列,j根据i的变化来控制输出黑方格的个数#include "stdio.h"#include "conio.h"main(){ int i,j; printf("\1\1\n"); /*输出两个笑脸*/ for(i=1;i<11;i++)……继续阅读 » 4年前 (2021-03-20) 2028浏览 1673个赞
古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21….#include "stdio.h"#include "conio.h"main(){……继续阅读 » 4年前 (2021-03-20) 1433浏览 2075个赞
判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。#include "stdio.h"#include "conio.h"#include "math.h"main(){ int m,i,k,h=0,leap=1; print……继续阅读 » 4年前 (2021-03-20) 1776浏览 999个赞
打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位#include "stdio.h"#include "conio.h&quo……继续阅读 » 4年前 (2021-03-20) 2204浏览 1032个赞
将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。(2)如果nk,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n, 重复执行第一步。(3)如果n不能被k整除,则用k+1……继续阅读 » 4年前 (2021-03-20) 3076浏览 2100个赞
有很多时候为了测试效率问题,我们需要对时间的精确掌控,mfc给我们封装的时间函数就满足不了我们的需求了。这时候需要使用下面两个函数 BOOL QueryPerformanceFrequency(LARGE_INTEGER *lpFrequency); BOOL QueryPerformanceCounter (LARGE_INTEGER ……继续阅读 » 4年前 (2021-03-20) 1301浏览 1927个赞
C语言递归算法求某一数在数组中出现的次数int times(int searchNum, int arr[], int length) // length 是数组元素个数,searchNum是要查找的值{ int num = (arr[length - 1] == searchNum) ? 1 : 0; if(len……继续阅读 » 4年前 (2021-03-20) 1575浏览 2999个赞
C语言输入两个正整数m和n,求其最大公约数和最小公倍数#include "stdio.h"#include "conio.h"main(){ int a,b,num1,num2,temp; printf("please input two numbers:\n"); scan……继续阅读 » 4年前 (2021-03-20) 1406浏览 653个赞
最近在阅读SGI STL源代码,其中红黑树的实现比较有技术含量,但标准库里面是捆绑了其中的allocator, iterator(Rb_tree专用的),使用很多模板变量,实现对多种数据类型的处理。这些情况对于有较扎实C++基础的人来说不成问题,但对于一般初学算法,而又没有太好的C++基础的人来说有点困难。并且SGI STL中的实现代码写得很精巧,节省……继续阅读 » 4年前 (2021-03-20) 3092浏览 960个赞
输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数利用while语句,条件为输入的字符不为’\n’#include "stdio.h"#include "conio.h"main(){ char c; int letters=0,space=0,digit=0,……继续阅读 » 4年前 (2021-03-20) 1769浏览 994个赞
一、定义与性质定义 二叉排序树(Binary Sort Tree)又称二叉查找(搜索)树(Binary Search Tree)。其定义为:二叉排序树或者是空树,或者是满足如下性质的二叉树:①若它的左子树非空,则左子树上所有结点的值均小于根结点的值;②若它的右子树非空,则右子树上所有结点的值均大于根结点的值;③左、右子树本身又各是一棵二叉排序树。 上述……继续阅读 » 4年前 (2021-03-20) 2117浏览 1408个赞
一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程找出1000以内的所有完数。#include "stdio.h"#include "conio.h"main(){ static int k[10]; int i,j,n,s; for(j=2;j<1000;j+……继续阅读 » 4年前 (2021-03-20) 3001浏览 2767个赞
自定义数组长度的快速排序#include<stdio.h>#include<stdlib.h>/*tannnn*/void Swap(int &a,int &b){int temp=a;a=b;b=temp;}int Partition(int a[],int p,int r){ int ……继续阅读 » 4年前 (2021-03-20) 1417浏览 1343个赞
一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?#include "stdio.h"#include "stdio.h"main(){ float sn=100.0,hn=sn/2; int n; for(n=2;n<……继续阅读 » 4年前 (2021-03-20) 2872浏览 153个赞
猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。采取逆向思维的方法,从后往前推断#include "stdio.h"#include "con……继续阅读 » 4年前 (2021-03-20) 1240浏览 274个赞
打印出如下图案(菱形) * *** ************ ***** *** *程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重for循环,第一层控制行,第二层控制列。 #include "stdio.h"#include "conio.h"main(){ i……继续阅读 » 4年前 (2021-03-20) 3047浏览 2574个赞
C语言求1+2!+3!+…+20!的和 #include "stdio.h"#include "conio.h"main(){ float n,s=0,t=1; for(n=1;n<=20;n++) { t*=n; s+=t; } printf(&quo……继续阅读 » 4年前 (2021-03-20) 1674浏览 388个赞
C语言利用递归方法求5!。#include "stdio.h"#include "conio.h"main(){ int i; int fact(); for(i=0;i<5;i++) printf("\40:%d!=%d\n",i,fact(i)); getc……继续阅读 » 4年前 (2021-03-20) 2151浏览 1887个赞
C语言利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来#include "stdio.h"#include "conio.h"main(){ int i=5; void palin(int n); printf("\40:"); palin(i); pri……继续阅读 » 4年前 (2021-03-20) 3226浏览 1407个赞
有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?程序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人(10岁),再往回推。#inc……继续阅读 » 4年前 (2021-03-20) 1157浏览 947个赞
一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同#include "stdio.h"#include "conio.h"main( ){ long ge,shi,qian,wan,x; scanf("%ld",&x); wan=x/……继续阅读 » 4年前 (2021-03-20) 2365浏览 2999个赞
vc.net中使用Qt连接SQLServer数据库//1.添加SQL库:"Qt project setting"-->"Qt Modules",在SQL library复选框前打勾.//2.添加头文件#include<QtSql>#include <QtSql/QSqlDatabas……继续阅读 » 4年前 (2021-03-20) 2817浏览 956个赞
C++用回溯方法做全排列#include<cstring>#include<iostream>#define LEN 10using namespace std;char elem[LEN] = { 'a', 'b', 'c', 'd', &……继续阅读 » 4年前 (2021-03-20) 1900浏览 810个赞
程序分析:用第一个与最后一个交换#include "stdio.h"#include "conio.h"#define N 5main(){ int a[N]={9,6,5,4,1},i,temp; printf("\n original array:\n"); for(i……继续阅读 » 4年前 (2021-03-20) 2762浏览 588个赞
利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。#include "stdio.h"#include "conio.h"/* 如果使用的是TC系列编译器则可能需要添加下句 */static void dummyfloat(float *x){ float y; dummyfloat(&am……继续阅读 » 4年前 (2021-03-20) 1502浏览 2460个赞
请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母#include "stdio.h"#include "conio.h"void main(){ char letter; p……继续阅读 » 4年前 (2021-03-20) 1943浏览 2604个赞
C++ 实现矩阵相乘#include <iostream>using namespace std;void MatrixMultiplication(double *m1,double *m2,double *m3,int m,int n,int k){ for(int i=0;i<m;i++) { for(int j=……继续阅读 » 4年前 (2021-03-20) 2281浏览 1122个赞
消息队列是一系列连续排列的消息,保存在内核中,通过消息队列的引用标识符来访问。消息队列与管道很相似,但使用消息队列的好处是对每个消息指定了特定消息类型,接收消息的进程可以请求接收下一条消息,也可以请求接收下一条特定类型的消息。来源:http://blog.csdn.net/muge0913/article/details/7342907#include……继续阅读 » 4年前 (2021-03-20) 2452浏览 488个赞
使用动态内存时需要用户自己去申请资源和释放资源。用户可以随时的分配所需空间,根据需要分配空间大小,并在最后释放申请内存。动态内存也存在隐患:在大型的项目当中管理申请的动态内存是很复杂的,以及释放申请的内存有难想起的。在释放动态内存时可能不止一个指针指向了该内存,所以释放的时候是很容易出错的。内存无法释放就会造成内存泄露,这也就是为什么服务器要经常的每个一段时……继续阅读 » 4年前 (2021-03-20) 2108浏览 393个赞
Linux 实现了请求页面调度,页面调度是说页面从硬盘按需交换进来,当不再需要的时候交换出去。这样做允许系统中每个进程的虚拟地址空间和实际物理内存的总量再没有直接的联系,因为在硬盘上的交换空间能给进程一个物理内存几乎无限大的错觉。交换对进程来说是透明的,应用程序一般都不需要关心(甚至不需要知道)内核页面调度的行为。然而,在下面两种情况下,应用程序可能像影响系……继续阅读 » 4年前 (2021-03-20) 1285浏览 2566个赞
如果我们把计算机上的操作系统及各种各样的软件看成一系列的有机生命,而不是指令集,那么这就是一个进程的世界,在进程的世界中同样有“道德”和“法制法规”,窥探进程世界,看它的侠肝义胆,风雨江湖路~~~~~linux支持多个进程同时进行,也就是我们常说的现代操作系统中的多道程序设计,所谓同时是linux系统调度各个进程分别占用cpu的时间。由于每个时间片的时间很……继续阅读 » 4年前 (2021-03-20) 1748浏览 1790个赞
来源:http://blog.csdn.net/muge0913/article/details/7317452#include <sys/types.h>#include <stdio.h>#include <sys/wait.h>void check_exit(int status);main(){ ……继续阅读 » 4年前 (2021-03-20) 1261浏览 1013个赞
linux c 退出进程来源:http://blog.csdn.net/muge0913/article/details/7317580 linux中常用退出函数:#include<stdlib.h>voidexit(int status);intatexit(vo……继续阅读 » 4年前 (2021-03-20) 2421浏览 368个赞
信号处理是linux程序的一个特色。用信号处理来模拟操作系统的中断功能。要想使用信号处理功能,你要做的就是填写一个信号处理函数即可。来源:http://blog.csdn.net/muge0913/article/details/7317621#include <stdio.h> #include <sys/types.h> ……继续阅读 » 4年前 (2021-03-20) 1825浏览 1706个赞
信号及其简介信号是一种进程通信的方法,他应用于异步事件的处理。信号的实现是一种软中断。它被发送为一个正在运行的进程,已告知进程某个事件发生了。来源:http://blog.csdn.net/muge0913/article/details/7322710 信号及其简介信号是一种进程通信……继续阅读 » 4年前 (2021-03-20) 3074浏览 273个赞
C++ 查询硬件与系统配置的API函数 ActivateKeyboardLayout 激活一个新的键盘布局。键盘布局定义了按键在一种物理性键盘上的位置与含义Beep 用于生成简单的声音CharToOem 将一个字串从ANSI字符集转换到OEM字符集ClipCursor 将指针限制到指定区域ConvertDefaultLocale 将一个特殊的地……继续阅读 » 4年前 (2021-03-20) 2902浏览 2821个赞
要对一个信号进行处理,就需要给出此信号发生时系统所调用的处理函数。可以对一个特定的信号(除去SIGKILL和SIGSTOP信号)注册相应的处理函数。注册某个信号的处理函数后,当进程接收到此信号时,无论进程处于何种状态,就会停下当前的任务去执行此信号的处理函数。来源:http://blog.csdn.net/muge0913/article/details/7……继续阅读 » 4年前 (2021-03-20) 2644浏览 1219个赞
1、有时候不希望在接到信号时就立即停止当前执行,去处理信号,同时也不希望忽略该信号,而是延时一段时间去调用信号处理函数。这种情况是通过阻塞信号实现的。2、信号阻塞和忽略信号的区别。阻塞的概念和忽略信号是不同的。操作系统在信号被进程解除阻塞之前不会讲信号传递出去,被阻塞的信号也不会影响进程的行为,信号只是暂时被阻止传递。当进程忽略一个信号时,信号会被传递出去……继续阅读 » 4年前 (2021-03-20) 1557浏览 699个赞
int sigsuspend(const sigset_t *sigmask);此函数用于进程的挂起,sigmask指向一个信号集。当此函数被调用时,sigmask所指向的信号集中的信号将赋值给信号掩码。之后进程挂起。直到进程捕捉到信号,并调用处理函数返回时,函数sigsuspend返回。信号掩码恢复为信号调用前的值,同时将errno设为EINTR。进程结束……继续阅读 » 4年前 (2021-03-20) 1867浏览 129个赞