摘要:运用C语言编写模拟常用网络命令ping命令实现一个基于linux原始套接字和ICMP协议的ping程序。该程序能用于检测主机或路由器工作是否正常。程序中主要的函数voidalarm_handler(int); /*SIGALRM处理程序*/voidint_handler(int); /*SIGINT处理程序*/voidset_sighandler(); /*设置信号处理程序*/voidsend_ping(); /*发送ping消息*/voidrecv_reply(); /*接收ping应答*/u16checksum(u8*buf,intlen);/*计算校验和*/inthandle_pkt()
阅读全文
摘要:根据需要将任意32位二进制转换为IP地址。输入:11111111输出:255.0.0.0思路:将输入的二进制数以每8个为一个单位转化为十进制 。#include <stdio.h> int bin_dec(int x, int n) //自定义函数将二进制数转换为10进制
{ if(n == 0) { return 1; } return x * bin_dec(x, n-1); //递归调用bin_dec()函数
} int main(void)
{ int i; int ip[4] = {0}; char a[33]; printf("请输入二进制数: \n"
阅读全文
摘要:用C语言代码实现n进制数转换为十进制数为了实现进制之间的相互转化,编程实现输入任意一个数并输入该数的进制,然后将其转换为10进制并输出。主要思路是将输入的数存入一个一维数组中然后进行相应处理。#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(void)
{ long t1; int i, n, t, t3; char a[100]; printf("请输入一个数:\n"); gets(a); //将输入的n进制的数储存在数组a中 strupr(a); /
阅读全文
摘要:求最大公约数,就是求较小的一个数的约数同时也能被较大的数整除,把他求到最大就可以了。求最小公倍数,就是求较大的一个数的倍数(同时也能整除较小的数),求最小的。1、# include <stdio.h> int main(void)
{ int x, y,temp; int r; printf("请输入两个正整数:\n"); scanf("%d %d", &num1, &num2); r = num1 % num2; temp = num2; while(r!=0) { num1 = num2; num2 = r; r = nu
阅读全文
摘要:Windows C 程序设计入门与提高http://download.chinaitlab.com/program/files/13246.html单片机C语言入门http://download.chinaitlab.com/program/files/12907.htmlC++ 入门基础教程http://download.chinaitlab.com/program/files/7617.htmlC语言常用算法源代码http://download.chinaitlab.com/program/files/12893.htmlC常用算法程序集http://download.chinaitlab
阅读全文