![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
qq_38375538
这个作者很懒,什么都没留下…
展开
-
socket网络编程改进
#include "myhead.h"int main(){ int socketfd = 0; struct sockaddr_in sock_server = {0}; int ret = 0; char msg[20] = {0}; socketfd = socket(PF_INET, SOCK_STREAM, 0); if (-1 =...原创 2017-07-24 22:03:16 · 274 阅读 · 0 评论 -
角谷猜想
日本一位中学生发现一个奇妙的“定理”,请角谷教授证明,而教授无能为力,于是产生角谷猜想。猜想的内容是:任给一个自然数,若为偶数除以2,若为奇数则乘3加1,得到一个新的自然数后按照上面的法则继续演算,若干次后得到的结果必然为1。请编程验证。*问题分析与算法设计本题是一个沿未获得一般证明的猜想,但屡试不爽,可以用程序验证。题目中给出的处理过程很清楚,算法不需特殊设计,可按照题目的叙述直接进行证。...翻译 2017-06-29 22:34:39 · 609 阅读 · 0 评论 -
四方定理
数论中著名的“四方定理”讲的是:所有自然数至多只要用四个数的平方和就可以表示。请编程证此定理。*问题分析与算法设计本题是一个定理,我们不去证明它而是编程序验证。对四个变量采用试探的方法进行计算,满足要求时输出计算结果。#include <stdio.h>#include <stdlib.h>int main(){ int number, i, ...翻译 2017-06-30 20:39:26 · 3225 阅读 · 0 评论 -
卡布列克常数
验证卡布列克运算。任意一个四位数,只要它们各个位上的数字是不全相同的,就有这样的规律:1)将组成该四位数的四个数字由大到小排列,形成由这四个数字构成的最大的四位数;2)将组成该四位数的四个数字由小到大排列,形成由这四个数字构成的最小的四位数(如果四个数中含有0,则得到的数不足四位);3)求两个数的差,得到一个新的四位数(高位零保留)。重复以上过程,最后得到的结果是6174,这个数被称为卡布...翻译 2017-07-01 21:47:04 · 3160 阅读 · 0 评论 -
尼科彻斯定理
验证尼科彻斯定理,即:任何一个整数的立方都可以写成一串连续奇数的和。××*问题分析与算法设计本题是一个定理,我们先来证明它是成立的。对于任一正整数a,不论a是奇数还是偶数,整数(a×a-a+1)必然为奇数。构造一个等差数列,数列的首项为(a×a-a+1),等差数列的差值为2(奇数数列),则前a项的和为:a×((a×a-a+1))+2×a(a-1)/2=a×a×a-a×a+a+a×a-a...翻译 2017-07-02 21:06:06 · 289 阅读 · 0 评论 -
回文数的形成
任取一个十进制整数,将其倒过来后与原来的整数相加,得到一个新的整数后重复以上步聚,则最终可得到一个回文数。请编程验证。*问题分析与算法设计回文数的这一形成规则目前还属于一个猜想,尚未得到数学上的证明。有些回文数要经历上百个步聚才能获得。这里通过编程验证。题目中给出的处理过程很清楚,算法不需要特殊设计。可按照题目的叙述直接进行验证。#include <stdio.h>#de...翻译 2017-07-04 21:32:09 · 689 阅读 · 0 评论 -
自动发牌
一副扑克有52张牌,打桥牌时应将牌分给四个人。请设计一个程序完成自动发牌的工作。要求:黑桃用S(Spaces)表示;红桃用H(Hearts)表示;方块用D(Diamonds)表示;梅花用C(Clubs)表示。*问题分析与算法设计按照打桥牌的规定,每人应当有13张牌。在人工发牌时,先进行洗牌,然后将洗好的牌按一定的顺序发给每一个人。为了便于计算机模拟,可将人工方式的发牌过程加以修改:先确定好发牌...翻译 2017-07-05 20:34:59 · 511 阅读 · 0 评论 -
黑白子交换
有三个白子和三个黑子如下图布置:○ ○ ○ . ● ● ●游戏的目的是用最少的步数将上图中白子和黑子的位置进行交换:● ● ● . ○ ○ ○游戏的规则是:(1)一次只能移动一个棋子; (2)棋子可以向空格中移动,也可以跳过一个对方的棋子进入空格,但不能向后跳,也不能跳过两个子。请用计算机实现上述游戏。*问题分析与算法设计计算机解决胜这类问题的关键是要找出问题的规律,或者说是要制定一套...翻译 2017-07-06 21:55:44 · 578 阅读 · 0 评论 -
常胜将军
现有21根火柴,两人轮流取,每人每次可以取走1至4根,不可多取,也不能不取,谁取最后一楰火柴谁输。请编写一个程序进行人机对弈,要求人先取,计算机后取;计算机一方为“常胜将军”。*问题分析与算法设计在计算机后走的情况下,要想使计算机成为“常胜将军”,必须找出取 关键。根据本题的要求枷以总结出,后走一方取子的数量与对方刚才一步取子的数量之和等于,就可以保证最后一个子是留给先取子的那个人的。据此分...翻译 2017-07-07 21:52:27 · 346 阅读 · 0 评论 -
C++笔记@(2)
new ,delete1. malloc ,free int *p = (int *)malloc(sizeof(int)*10); free(p); 2. new,delete2.1 单个类型 指针 = new 数据类型 int *p = new int; delete p;2.2 希望连续分配的数据int *p = new in...原创 2017-07-10 22:57:42 · 182 阅读 · 0 评论 -
C++note3
函数的重载C中,每个函数都必须有唯一的一个名字,这个就必须记住每一个函数的名字。例如经常所见的求最大值的函数,数据类型不同,函数名不能相同。int max1(int ,int);int max2(int ,int, int);double max3(double, double);C++中允许同名函数存在,但需要函数的参数不同:即形参个数不同或形参个数相同,...原创 2017-07-11 22:17:57 · 311 阅读 · 0 评论 -
UDP服务器与客户端
#include "myhead.h"int main(){ int ret = 0; int socketfd = 0; struct sockaddr_in sock_server = {0}; struct sockaddr_in sock_client = {0}; int len = sizeof(struct sockaddr); char m...原创 2017-07-17 21:44:19 · 253 阅读 · 0 评论 -
换分币
1 #include <stdio.h> 2 3 int main() 4 { 5 int i, j, k, count=1; 6 printf("There are following small exchange plans for 1 Yuan note:\n"); 7 for (i=0; i<=100; i++) ...翻译 2017-05-09 22:09:51 · 158 阅读 · 0 评论