C语言
zangyuanan320
just do IT!
展开
-
用C和C++编写输出乘法口诀表
用C编写:#include "stdio.h"int main(){ int i,j,n,m=0; for(i=1;i { for(j=1;j { printf("%d*%d=%d ",i,j,i*j); m=m+1; if(m%9==0) { printf("\n") ;原创 2016-05-30 15:00:07 · 920 阅读 · 0 评论 -
实现一个函数判断year是不是闰年。
#includeint leap(int year){ if((year%4==0)&&(year%100!=0)||(year%400==0)) { return 1; } else { return 0; } }int main(){ int year; int ret; scanf("%d",&year); ret=leap(year);原创 2016-05-30 15:01:30 · 680 阅读 · 0 评论 -
使用函数实现两个数的交换。
#include void swap(int *a,int *b){ int tmp; tmp=*a; *a=*b; *b=tmp;}int main(){ int a=20; int b=10; swap(&a,&b); printf("a=%d b=%d",a,b); return 0; }原创 2016-05-30 15:01:27 · 1767 阅读 · 0 评论 -
实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定,输入多少打印几乘几的乘法表
#include int main(){ int i,j=0; int N; scanf("%d",&N); for(i=1;i<N;i++) { for(j=1;j<=i;j++) { printf("%d*%d=%2d ",j,i,i*j); } printf("\n"); } return 0; }原创 2016-05-30 15:01:24 · 494 阅读 · 0 评论 -
《将博客搬至CSDN》
由于各种原因,本人决定将博客搬迁到CSDN博客,以后有需要的可以来我的新博客地址来访问:CSDN链接:http://blog.csdn.net/zangyuanan320本文出自 “滴水” 博客,请务必保留此出处http://10740329.blog.51cto.com/10730329/1783940原创 2016-05-30 15:04:54 · 318 阅读 · 0 评论 -
#ifndef 与 #program once 的区别
#ifndef 与 #program once 的区别 为了避免同一个文件被include多次,C/C++中有两种方式,一种是#ifndef方式,一种是#pragma once方式。在能够支持这两种方式的编译器上,二者并没有太大的区别,但是两者仍然还是有一些细微的区别。 方式一: #ifndef __SOMEFILE_H__ #define __SOMEFILE_H__转载 2016-05-30 15:04:21 · 328 阅读 · 0 评论 -
【C语言】【笔试题】使用回调函数编写冒泡排序,可以排序整形数组,也可以排序字符串
#define _CRT_SECURE_NO_WARNINGS 1#include #include #include void int_swap(const void *a, const void *b){ int tmp = *(int *)a; *(int *)a = *(int *)b; *(int *)b = tmp;}void char_swap原创 2016-05-30 15:03:57 · 348 阅读 · 0 评论 -
【C语言】【指针相关知识小结】
1.int *p = NULL 和 *p = NULL的区别 int *p = NULL指的是将一个指针初始化为NULL,具体过程为 int *p; p = NULL。2.&a与a的区别 int a[5]; int *p = &a;//?? int *q = a;//?? 这样的代码对吗?解释:&a得到数组的地址。a表示数组首元素的首地址。&a的a的值一样,两原创 2016-05-30 15:03:54 · 279 阅读 · 0 评论 -
【C语言】【笔试题】模拟实现memcmp
#include #include #include int my_memcmp1(const void *p1, const void *p2, size_t count)//方法1{ assert(p1); assert(p2); char *dest = (char *)p1; char *src = (char*)p2; while (cou原创 2016-05-30 15:03:51 · 453 阅读 · 2 评论 -
【C语言】【笔试题】模拟实现memset
#include #include #include void my_memset(void *str, char n, size_t count){ char *dest = (char *)str; size_t i = 0; for (i = 0; i < count; i++) { *(dest + i) = n; }}原创 2016-05-30 15:03:48 · 278 阅读 · 0 评论 -
【C语言】【面试题】【笔试题】模拟实现strncmp
#include #include #include int my_strncmp(const char *dest, const char *src, int len){ assert(dest); assert(src); while (len && (*dest == *src)) { dest++; src++;原创 2016-05-30 15:03:42 · 234 阅读 · 0 评论 -
feof()和EOF的用法—— C中文件结尾的判断
昨天突然被一位朋友问到了关于文件结尾的程序问题。在用feof()判断文件时,复制会多产生一个字符。这个问题在大一的时候,老师上课就强调过,但那时只是模糊的记得个大概,记得这个函数如果用的不对就是会出现问题,解决是要先读一下,然后再判断,具体的什么还真实忘了。而且平常经常用的EOF,所以这个问题自己并没有一个特别好的概念。现在写的C语言多了,应该能理解这个问题存在的原因。所以转载 2016-06-03 22:35:46 · 1042 阅读 · 0 评论 -
fopen , fread fwrite 函数读写二进制文件 问题总结
最近在解析 png 数据文件, 发现一个文件操作中容易忽略的问题,问题描述如下:在使用 fread 读二进制文件(png 图片)的时候, 发现读取到内存中的数据和 二进制文件中的数据不一致, 同样, 在 使用 fwrite 写二进制文件(png 图片)的时候, 发现写入到内存中的数据和 二进制文件中的数据和内存中的数据也不一致。 这个问题头疼了两天, 结果发现了一个很低级的错误。就是在读写转载 2016-06-03 22:56:46 · 5919 阅读 · 1 评论 -
实现一个函数,判断一个数是不是素数。
#include #include int prime(int num){ int i=0; int k=0; int flag; k=sqrt(num); flag=1; for(i=2;i<=k;i++) { if(num%i==0) { flag=0; } if(flag==0) { return 0; } } return 1原创 2016-05-30 15:01:36 · 445 阅读 · 0 评论 -
【好玩的棋盘游戏】编写一个玩家操作的函数和电脑能够操作的两人棋盘游戏,哪边有三个相连的胜出
#include #include char arr[3][3];void print(){ int t; for(t=0;t<3;t++) { printf("%c|%c|%c|",arr[t][0],arr[t][1],arr[t][2]); printf("\n_|_|_|\n"); }}void init(){ int i,j; for(i=0;i<3;i原创 2016-05-30 15:01:39 · 523 阅读 · 0 评论 -
不允许创建临时变量,交换两个数的内容
不允许创建临时变量,交换两个数的内容#include int main(int argc, char *argv[]){ int a = 10, b = 100; a = a ^ b; b = b ^ a; a = a ^ b; printf("a = %d b = %d\n", a, b); return 0;}转载 2016-05-30 15:00:10 · 209 阅读 · 0 评论 -
求10 个整数中最大值
求10 个整数中最大值#include #include int main(){ int i,j; int m; int arr[10]; for (i=0;i { scanf("%d",&arr[i]); } for (i=0;i { j=i+1; if(arr[i] { m=arr[j]; } } printf("%d",m);return 0;}原创 2016-05-30 15:00:13 · 261 阅读 · 0 评论 -
写一个函数返回参数二进制中 1 的个数
写一个函数返回参数二进制中 1 的个数。#include int count_one_bits(unsigned int value) { int a=value; //把函数中value的值给a int i=0; //记录1的值 while(a) {原创 2016-05-30 15:00:16 · 348 阅读 · 0 评论 -
【C语言】Linux操作环境下编译C程序
1、首先进入Linux操作系统:650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/74/EB/wKiom1YuFdHyeRnwAAGXPW530Ao460.jpg" title="N%QBVR(7@BF])(Y0OKIBXCR.jpg" alt="wKiom1YuFdHyeRnwAAGXPW530Ao460.jpg" />2、在编译原创 2016-05-30 15:02:10 · 395 阅读 · 0 评论 -
【C语言】【笔试题】找出一组数据中成单出现的数字,其他所有数字都是成对出现的。(移位)
#include#includeint main(){ int i = 0; int num= 0; int arr[7]; for (; i < 7; i++) { scanf("%d", &arr[i]); } num = arr[0]; for (i = 1; i < 7; i++) { num = num^arr[i];//a异或b之后再异或b,结果是a等同原创 2016-05-30 15:02:06 · 248 阅读 · 0 评论 -
【C语言】【笔试题】编写函数: unsigned int reverse_bit(unsigned int value); 翻转二进制序列
#include #include #include unsigned int reverse_bit(unsigned int value){ int i = 0; unsigned int sum = 0; for (i=0; i < 32; i++) { sum = sum + (value % 2) * pow(2, 31 - i); value /= 2;转载 2016-05-30 15:02:01 · 356 阅读 · 0 评论 -
【C语言】【笔试题】两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同
#include #include int main(){ int i = 0; int x = 1999; int y = 2299; int count = 0; for (i = 0; i < 32; i++) { if ((x % 2) ^ (y % 2) == 1) { count++; } x /= 2; y /= 2; } pri原创 2016-05-30 15:01:58 · 416 阅读 · 0 评论 -
对于sizeof的含义、应用及易混点的解析
int main(){ int a = 10; short c = 10; int arr[10]; printf("%d\n", sizeof(int));//首先解释下sizeof它并不是一个函数后面接括号只是为了 //区分int,实际上在这是求取int类型的大小 printf("%d\n", sizeof(a原创 2016-05-30 15:01:54 · 256 阅读 · 0 评论 -
【C语言】猴子吃桃问题
#includeint main(){ int i=0; int sum=1; for(i=0;i<9;i++) { sum=2*sum+2; } printf("%d",sum); return 0;}650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/74/C7/wKiom1YorHeyYgUeAACP原创 2016-05-30 15:01:51 · 293 阅读 · 0 评论 -
【C语言】球体从100米下落问题
#include int main(){ int i; double sum=100; double h=100; for(i=0;i<10;i++) { h=h/2; sum=sum+h*2; } printf("%lf\n",sum); printf("%lf\n",h); return 0;}650) this.width=650;" src="http:/原创 2016-05-30 15:01:48 · 3559 阅读 · 0 评论 -
【C语言】有一个分数序列 2/1+3/2+5/3+8/5+13/8+… 求出这个数列前 20 项的和。
#includeint qiuhe(){ int i=0; int a=1; int b=1; double t=0; double s=0; for(i=1;i<=20;i++) { t=a+b; s=s+t/a; b=a; a=t; } return s;}int main(){ double ret=qiuhe(); printf("%lf原创 2016-05-30 15:01:45 · 1520 阅读 · 0 评论 -
【C语言】编写一个折半查找函数
#include int zheban(int x,int arr[],int left,int right){ while(left<=right) { int mid=left-(left-right)/2; if(x<arr[mid]) { right=mid-1; } else if(x>arr[mid]) { left=mid+1;原创 2016-05-30 15:01:42 · 2754 阅读 · 0 评论 -
IP协议首部详细分析
IP协议首部详细解析转载 2016-07-22 21:54:57 · 1484 阅读 · 0 评论