
C语言
csdn_JSB
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
100~200之间的素数
#include <stdio.h>int main(){ int i,j,s; for(i=100; i<=200; i++) { s = 0; for(j=2; j<i; j++) if(i%j == 0) { s = 1; b...原创 2018-03-24 11:27:06 · 323 阅读 · 0 评论 -
不允许创建临时变量,交换两个数的内容
方法一:两个数a和ba = a+b;b = a-b;a = a-b;这种方法不好,当a与b特别大时,数据会丢失#include<stdio.h>int main(){ int a = 5,b = 3; a = a+b; b = a-b; a = a-b; printf("a = %d,b = %d",a,b); return 0;}方法二:两个数a与...原创 2018-03-26 20:59:56 · 161 阅读 · 0 评论 -
三子棋
写这个游戏,我们要先把大概思路的框架搭好: 1.3X3的棋盘 2.玩家下:要选择的位置是否在这个棋盘内,选择的位置是否已有棋子 3.电脑下:通过随机数产生位置坐标,同样要判断选择的位置是否已有棋子 4.不管是玩家还是电脑下完都要判断是否赢了 5.判赢:某行某列或对角线上是否有三个一样的,或棋盘是否满了,满了为平局//头文件 sanziqi.h#ifndef __SANZIQI_...原创 2018-04-11 14:42:52 · 257 阅读 · 0 评论 -
用C语言实现简单的扫雷游戏
扫雷游戏大家应该都不陌生,一个扫雷游戏要满足的基本要求是: 1.第一次扫的位置不能是雷 2.每展开一个位置要显示该位置周围雷的个数 3.若该位置周围没雷,要把周围展开 该游戏的界面是10X10的,有10个雷,大家可根据自己的需求参考去改 该游戏的大体思路是: 1.首先你肯定想到要设置一个数组放雷,有雷为1,无雷为0,玩家每点开一个位置然后根据坐标判断改位置周围雷的个数,然后你要怎样把你...原创 2018-04-11 16:21:25 · 1345 阅读 · 1 评论 -
浅谈mian函数的参数解析
我们从一开始接触C语言就在使用mian函数,但你们有没有发main函数其实也是被调用的,而且main函数还是有参数的。 main函数在_tmainCRTStartup函数中调用的,而_tmainCRTStartup函数是被mianCRTStartup调用的。这里我们主要讲main函数的参数,那我们先看看main函数的原型:int main(int argc,char *argv[],...原创 2018-04-24 00:19:00 · 2347 阅读 · 3 评论 -
对可变参数列表源码的浅剖析
什么是可变参数?我们通过下面这个例子来看看。 我现在来写一段简单的程序:#include<stdio.h>int Add(int a,int b){ return a+b;}int main(){ int a=10; int b=20; int ret=0; ret=Add(a,b); printf("ret= %d"...原创 2018-04-24 21:40:26 · 291 阅读 · 0 评论 -
C语言之自定义类型
结构体结构是一些值的集合,这些值称为它的成员,但一个结构的各个成员可能具有不同的类型。 我们为什么要使用结构体呢? 平时,我们要求函数的参数尽量不多于4个,如果函数的参数多于4个就很容易出错,效率也会降低,这时我们就可以用结构体压缩参数个数。结构体的声明:struct tag{ member-list;}variable-list;我们来举个例子:(我...原创 2018-05-09 16:25:37 · 500 阅读 · 0 评论 -
通讯录
实现一个; 通讯录可以用来存储1000个人的信息,每个人的信息包括: 姓名、性别、年龄、电话、住址 提供方法: 1. 添加联系人信息 2. 删除指定联系人信息 3. 查找指定联系人信息 4. 修改指定联系人信息 5. 显示所有联系人信息 6. 清空所有联系人 7. 排序所有联系人 (以名字、年龄、性别、手机号、地址排序(由用户选择一种排序方法))//ca...原创 2018-05-09 16:50:43 · 407 阅读 · 0 评论 -
对函数指针、 函数指针数组、 指向函数指针数组的指针的理解
函数指针: 函数指针,是一个指针,一个指向函数的指针。 我们来看一段代码:#include<stdio.h>#include<stdlib.h>void test(){ printf("hehe\n");}int main(){ printf("%p\n", test);//函数的地址 printf("%p\n", ...原创 2018-04-28 23:23:47 · 349 阅读 · 0 评论 -
编写程序数一下 1到 100 的所有整数中出现多少次数字9
#include<stdio.h>int main(){ int a,b,num,count; count = 0; for(num=1; num<=100; num++) { a = num/10; b = num%10; if(a == 9) { count++; } if(b == 9) //此处不能加else,这样会把99中的...原创 2018-03-26 20:47:00 · 217 阅读 · 0 评论 -
输出乘法口诀表
#include<stdio.h>int main(){ int i,j; for(i=1; i<9; i++) { for(j=1; j<=i; j++) { printf("%dx%d=%2d ",j,i,i*j);//使输出右对齐 } printf("\n"); }}原创 2018-03-24 11:38:53 · 158 阅读 · 0 评论 -
闰年
#include <stdio.h> int main( ){ int year; //能整除4但不能被100整除,或者能整除400的就是闰年 for(year=1000; year<=2000; year++) { // if(year%4 == 0 && year%100 != 0||year%400 == 0) ...原创 2018-03-24 11:51:54 · 292 阅读 · 0 评论 -
猜数字游戏
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<time.h>void game(){ int ret,num; //srand((unsigned int)time(NULL)) //这一句放着也可以,但是这样每次产生的随机数会很接近, //...原创 2018-03-30 10:15:17 · 245 阅读 · 0 评论 -
在整型有序数组中查找想要的数字,找到了返回下标,找不到返回-1.(折半查找)
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>int binary_search(int num, int *a, int lenth){ int left = 0; int right = lenth; int f; while (left < right) {...原创 2018-03-30 10:16:35 · 424 阅读 · 0 评论 -
码模拟三次密码输入的场景
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<string.h>#include<stdlib.h>int main(){ char a[10]; char b[] = { 1, 2, 3, 4, 5, 6 }; int count = 3; while (count) {...原创 2018-03-30 10:17:36 · 283 阅读 · 0 评论 -
可以一直接收键盘字符,如果是小写字符就输出对应的大写字符,如果接收的是大写字符,就输出对应的小写字符,如果是数字不输出
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>int main(){ char cha; while (1) { printf("请输入字符:\n"); cha = getchar(); //getchar(); if (cha >= '0' && cha <= '9') {...原创 2018-03-30 10:19:04 · 322 阅读 · 0 评论 -
总结:写一个函数返回参数二进制中 1 的个数
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>方法一:此方法效率低int count_one_bits(unsigned int value){ int count = 0; int tamp; int i; tamp = value; for(i=0;i<32;...原创 2018-04-01 11:09:21 · 190 阅读 · 0 评论 -
获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列。
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>//一://int main()//{// int num = 0;// int even[16];// int odd[16];// int i = 1;// int a = 0;// int b = 0;// int...原创 2018-04-01 11:49:18 · 132 阅读 · 0 评论 -
输出一个整数的每一位
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>int main(){ int num; int tamp; int a; printf("请输入一个数>\n"); scanf("%d",&num); tamp = num; printf("从低位往高位输...原创 2018-04-01 11:50:11 · 387 阅读 · 0 评论 -
两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>int main(){ int num1; int num2; int i=0; int tamp1; int tamp2; int count = 0; printf("请输入两个整数>\n"); scanf("...原创 2018-04-01 11:50:57 · 183 阅读 · 0 评论 -
计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值
方法一:#include<stdio.h>int main(){ int i,j; double sum = 0; i = -1; for(j=1; j<=100; j++) { i=-1*i; sum = sum+i*(1.0/j); } printf("%f\n",sum); return 0;}方法二:int main(){ int i;...原创 2018-03-26 20:38:09 · 484 阅读 · 0 评论 -
递归的典型问题
什么是递归?程序调用自身的编程技巧称为递归。它通常把一个大型复杂的问题层层转化为一个与原问题相似规模较小的问题来求解。递归的主要思考方式:把大事化小!递归的必要条件:1.存在限制条件,当满足这个限制条件的时候,递归便不再继续 2.每次递归调用之后越来越接近这个限制条件下面我们通过两个有趣的题来更深刻的了解递归。 一、汉诺塔问题 题目:古代有...原创 2018-04-29 18:13:58 · 536 阅读 · 0 评论