- 博客(22)
- 资源 (1)
- 收藏
- 关注
原创 题目: 一个数如果恰好等于它的因子之和,这个数被成为”完数”,例如:6=1+2+3.请编程找出1000以内的完数
#include int main(){int i,j;int sum;for(i = 6;i {//赋值为因子和sum=i;for(j = 1;j {//总数减去因子if(i % j == 0){sum=sum-j;}} //减去所有的因子 if(sum == 0)
2016-10-30 20:04:52 1671
原创 .题目:请编写一个c函数,该函数给出一个字节中被置为1的位的个数
#include int fun(int num){static int count=0; //每一位与1判断if(num % 2 & 1 == 1){count++;} //除二判断下一位if(num >> 1 >= 2)fun(num >> 1); //判断最后一位if(num >> 1 == 1
2016-10-29 21:51:07 1183
原创 题目:有n个人围成一圈,顺序排号,从第一个开始报数(从1到3报数),凡报到3的人退出圈子,问最后最后留下的是原来第几号的那位. 提示:用数组完成
#include #define N 5 //指定一群中的人数int main(){int i,k;int a[N+1],*p; //循环赋值for(i = 0,p = a;p {*p=i;}p = a + 1;for(i = 0,k = N;k > 1;p++){//指向末尾后从头指if(p >
2016-10-29 21:49:22 1144
原创 题目:输入5个数(含负数、小数)将它们按由小到大的顺序排列起来 提示:需要排数的数字通过参数传递进来, 例如:输入:./a.out -1 2.1 -3 5 7 输出: -3 -1 2.1
#include #include #define MAX 999 //足够大的数使其正数参加排序int main(int argc,char *argv[]){int i,j;float a[100],temp = 0.0;for(i = 0;i {printf("%s ",argv[i]);a[i]= atof(argv[i])+
2016-10-29 21:47:07 980
原创 从一个字符数组中读出相应的整数、实数
#includeint main(){ char sp[] = "qw1234u23.45p98"; char *p = sp; float a[80]; int num = 0,cn = 1,i; float value = 0.0; while(*p != '\0'){ // 指向数字的
2016-10-29 21:45:17 716
原创 字符串数组的冒泡排序,从小到大
#include #include void sort(char a[][10],int n){int i,j;char temp[10];//冒泡排序for(j = 0;j for(i = 0;i if(strlen(a[i])>strlen(a[i+1])) //比较字符串长度{strcpy(temp,a[i]);strcpy(a[i
2016-10-29 21:44:17 3105
原创 二分排序
#include <stdio.h>int main(){int i,j,a[10];int mid,low,high,temp;srand((unsigned int) time(0)); //随机种子 //随机数组for(i = 0;i < 10;i++){a[i] = rand() % 100;} for(i = 0;i &l...
2016-10-29 21:43:23 214
原创 对一个二维数组中的数据排序,方法如下: 将整个数组中值最小的元素所在行调整为数组第一行, 将除第一行外的行中最小元素所在行调整为第2行, 将除第1,2行外的行中最小值元素所在行调整为第3行,以此类推
#include //移动行void lineswap(int a[],int b[]){int i,temp;for(i = 0;i {temp = a[i];a[i] = b[i];b[i] = temp;}}int main(){ int a[4][4] = {{13,2,34,6},{25,1,78,32},{76,98,4,9
2016-10-29 21:42:00 814
原创 将整数转换为相应的一个字符数组。 分析:从个位提取数字,组合字符 符号位的处理 12345=>"12345"
#include #include void my_itoa(int n,char a[]){int flag = 1,i,j,len;char s[10];if( n {flag = -1;n = -n;} //依次输出字符while(n > 0){a[i] = n % 10 + '0';n = n / 10;
2016-10-29 21:40:57 720
原创 编写函数void change(char *a,char *b,char*c)。 函数功能是首先把b指向的字符串逆向存放,然后将a指向的字符串和b指向的字符串按排列顺序交叉合并到c指向的数组中,两个字
#include #include void change(char *a,char *b,char *c){int i,n,m,k,temp;n = strlen(b);k = 0;m = 0;//倒序输出字符串for(i = 0;i {temp = b[i];b[i] = b[n - 1 - i];b[n - 1 - i] =
2016-10-29 21:39:54 1888
原创 对N行N列二维数组的每一行排序,偶数行(0当作偶数)由小到大排序,奇数行由大到小排序
#include <stdio.h>#define N 4int main(){int a[N][N] = {{4,2,3,1},{5,7,6,8},{12,10,11,9},{13,15,14,16}};int i,j,k;int max,min;int temp,tmp; //打印数组for(i = 0;i < N;i++){for(j = 0...
2016-10-29 21:38:27 2338
原创 合并两个字符集合为一个新集合,每个字符串在新集合中仅出现一次,函数返回新集合中字符串。 如: s1集合{“while”,”for”,”switch”,”if”,”continue”
#include #include int main(){char s1[5][10]={"while","for","switch","if","continue"};char s2[6][10]={"for","case","do","else","char","switch"};char s[10][10];int i,j,k; //字符串拷贝f
2016-10-29 21:36:52 498
原创 找出7个默森尼数,法国数学家默森尼曾提出下列公式:Mp=2^p-1。当p是素数,Mp也是素数时,称Mp为默森尼数, 例如,p=5,Mp=2^5-1=31,5和31都是素数,因此31是默森尼数;而Mp
#include #include //判断Mp是否为素数int prime1(int Mp){int i;for(i = 2;i {if(Mp % i == 0)return 0;}return 1;}//判断p是否为素数int prime2(int p){int i;for(i = 2;
2016-10-29 21:35:15 1218 3
原创 打印空心菱形
#include int main(){int i,j,k;int n,m;printf("Enter a jishu:");scanf("%d",&n);m=(n+1)/2;for(i=1;i{for(k=0;kprintf(" ");printf("*");if(i==1){printf("\n");continue;
2016-10-21 23:22:59 532
原创 打印实心菱形
#include int main(){int i,j;int n;printf("Enter a jishu:");scanf("%d",&n);for(i=1;i{for(j=1;jprintf(" ");for(j=1;jprintf("*");printf("\n"); }for(i=n/2;i>=1;i--){
2016-10-21 23:21:27 254
原创 strncpy的实现
#include #include int main(){char str1[100],str2[100];int s,i=0,j,n;printf("Enter a string:");scanf("%s",str2);printf("Copy s char:");scanf("%d",&s);n=strlen(str2);if(s{for(j
2016-10-21 23:17:42 439
原创 atof函数的实现
#include double my_atof(char *s){int flag=1;double sum=0.0;if(s==NULL)return 0;while(*s==' ')s++;if(*s=='-'){flag=-1;s++;}else if(*s=='+'){s++;}while(*s='0'){
2016-10-21 23:16:14 1177
原创 strncmp的实现
#include int my_strncmp(char *s1,char *s2,int n){if(!n)return 0;while(--n&&*s1&&*s2&&*s1==*s2)//比较到前n个字符退出循环,如有一个条件不满足也退出,s1到末尾,s2到末尾则退出{s1++;s2++;}return(*s1-*s2);}int main(
2016-10-21 23:13:34 1063
原创 数据的存储类型
C语言中的每个变量有两个属性:数据类型(整形、浮点型、字符型),还有数据存储类别,分别为自动的(auto),静态的(static),寄存器的(register)和外部的(extern)。下面对它们进行逐一说明:auto类型:其实在函数中的局部变量,不加特殊声明,都是auto变量,但是关键字"auto"可以被省略。这些变量在函数被表用时分配存储方式,函数调用结束后这些存储空间就被释放了。
2016-10-16 17:07:51 1075
转载 memcpy与strcpy的区别
strcpy和memcpy主要有以下3方面的区别。1、复制的内容不同。strcpy只能复制字符串,而memcpy可以复制任意内容,例如字符数组、整型、结构体、类等。2、复制的方法不同。strcpy不需要指定长度,它遇到被复制字符的串结束符"\0"才结束,所以容易溢出。memcpy则是根据其第3个参数决定复制的长度。3、用途不同。通常在复制字符串时用strcpy,而需要复制其
2016-10-07 13:21:11 502
原创 enum枚举类型
1. 枚举类型定义的一般形式为:enum 枚举名{ 枚举值表 };在枚举值表中应罗列出所有可用值。这些值也称为枚举元素。例如:该枚举名为weekday,枚举值共有7个,即一周中的七天。凡被说明为weekday类型变量的取值只能是七天中的某一天。2. 枚举变量的说明如同结构体(struct)和共用体(union)一样,枚举变量也可用不同的方式说明,即先
2016-10-07 13:19:34 556
原创 malloc函数
原型1extern void *malloc(unsigned int num_bytes);头文件12#include #include 函数声明
2016-10-07 13:17:18 211
TR069协议说明文档
2018-09-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人