c语言
mujinhuakai01
这个作者很懒,什么都没留下…
展开
-
写一个函数能够对整型数组进行二分查找。
//5.写一个函数能够对整型数组进行二分查找。#include#includeint binary_search(int arr[], int key, int left, int right){int mid = left - (left - right) / 2;while (left {if (key {right = mid - 1;mid =原创 2016-12-18 21:36:37 · 514 阅读 · 0 评论 -
编写一个函数实现n^k,使用递归实现
//2.编写一个函数实现n^k,使用递归实现includeinclude原创 2017-01-13 19:41:33 · 408 阅读 · 0 评论 -
//4. 编写一个函数reverse_string(char * string)(递归实现) //实现:将参数字符串中的字符反向排列。 //要求:不能使用C函数库中的字符串操作函数。
#include<stdio.h> #include<stdlib.h> #include<string.h>int reverse_string(char *string,int len){ char temp = *string; *string = *(string + len - 1); *(st原创 2017-01-13 21:01:45 · 732 阅读 · 0 评论 -
模拟实现strlen()函数
#include<stdio.h>#include<stdlib.h>int my_strlen(const char *str){ int i = 0; int count = 0; while (str[i] != '\0') { count++; i++; } return count;}int main(原创 2017-01-13 21:18:29 · 237 阅读 · 0 评论 -
可变参数
**//可变参数列表 //va_list arg; //va_start(arg, 未知参数前面的第一个参数); //va_arg(arg, 参数类型); //读取未知部分的值 //va_end(arg);**#define _CRT_SECURE_NO_WARNINGS #include<stdio.h>#include<stdlib.h>#include<stdarg.h原创 2017-01-14 20:29:47 · 193 阅读 · 0 评论 -
模拟实现strcmp
#include<stdio.h>#include<stdlib.h>#include<assert.h>int my_strcmp(const char *arr1, const char *arr2){ while (*arr1 == *arr2) { if (*arr1 == '\0') return 0; arr原创 2017-01-13 23:25:29 · 259 阅读 · 0 评论 -
模拟实现strcat
模拟实现strcat //连接两个字符串#include<stdio.h>#include<stdlib.h>#include<assert.h>int my_strcat(char dest[],const char *src){ char *ret = dest; assert(dest); assert(src); while (*dest !=原创 2017-01-13 23:23:47 · 223 阅读 · 0 评论 -
模拟实现strcpy
2.模拟实现strcpy //把*src的内容复制到dest[](没有初始化)中去,注意找到dest[]中的'\0'时,才进行复制#include<stdio.h>#include<stdlib.h>#include<assert.h>int my_strcpy(char *dest, char const *src){ char *ret = dest; assert原创 2017-01-13 23:21:59 · 272 阅读 · 0 评论 -
//2.使用宏将一个数二进制中的奇数位和偶数为进行交换。 #include<stdio.h> #include<stdlib.h> #define EXH(x) \ ((x & 0x5555555
//2.使用宏将一个数二进制中的奇数位和偶数为进行交换。分析:提取偶数位:即让原数按位与01010101010101010101010101010101,16进制形式为0x55555555 提取奇数位:原数按位与10101010101010101010101010101010,16进制形式为0xaaaaaaaa原创 2017-01-12 16:12:25 · 703 阅读 · 0 评论 -
//3.实现一个函数,可以左旋字符串中的k个字符。 //ABCD左旋一个字符得到BCDA //ABCD左旋两个字符得到CDAB
#include#includeint move(char arr[5],int sz,int k){while (k){int i = 0;int temp = arr[0];for (i = 1; i {arr[i - 1] = arr[i];}arr[sz - 1] = temp;k--;}return arr;}i原创 2017-01-12 16:22:44 · 294 阅读 · 0 评论 -
两个数相加的函数的堆栈调用过程
#includeint add(int x,int y){int z=0;z=x+y;return z;}int main(){int a=10;int b=20;printf("%d\n",add(a,b));return 0;}主函数main()的堆栈如图1,add函数的堆栈如图2原创 2017-01-13 12:28:29 · 362 阅读 · 0 评论 -
//4.判断一个字符串是否为另外一个字符串旋转之后的字符串。 //例如:给定s1 = AABCD和s2 = BCDAA,返回1,给定s1 = abcd和s2 = ACBD,返回0. //AABCD左旋
#include<stdio.h>#include<string.h>int main(){ char arr[20] = "AABCD"; char *ret = NULL; strncat(arr, arr, 5); ret = strstr(arr, "ABCDA"); if (ret == NULL) { printf("原创 2017-04-09 15:02:22 · 274 阅读 · 0 评论 -
//4.创建一个数组, //实现函数init()初始化数组、 //实现empty()清空数组、 //实现reverse()函数完成数组元素的逆置。 //要求:自己设计函数的参数,返回值。
//4.创建一个数组,//实现函数init()初始化数组、//实现empty()清空数组、//实现reverse()函数完成数组元素的逆置。//要求:自己设计函数的参数,返回值。#include#includeint init(int arr[],int sz){printf("初始化数组:\n");int i = 0;for (i = 0; i {原创 2016-12-18 21:37:17 · 242 阅读 · 0 评论 -
实现一个函数判断year是不是润年。
//3.实现一个函数判断year是不是润年。#includeint is_leap(int i){int count = 0;for (i = 1000; i {if ((((i % 4) == 0) && (i % 100 != 0)) || (i % 400 == 0)){count++;printf("%d ", i);}}printf("原创 2016-12-18 21:37:50 · 268 阅读 · 0 评论 -
使用函数实现两个数的交换。
//2.使用函数实现两个数的交换。#includeint swap(int *px, int *py){int temp = 0;temp = *px;*px = *py;*py = temp;printf("a=%d,b=%d",*px,*py);}int main(){int a = 20;int b = 0;swap(&a, &原创 2016-12-18 21:38:21 · 377 阅读 · 0 评论 -
//2.日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。以下为4个嫌疑犯的供词。 //A说:不是我。 //B说:是C。 //C说:是D。 //D说:C在胡说 //已知3个人说了
#includeint main(){int killer = 'a';for (killer = 'a'; killer {if ((killer != 'a') + (killer == 'c') + (killer == 'd') + (killer != 'd') == 3){printf("killer is %c\n", killer);}}原创 2016-12-18 21:34:42 · 391 阅读 · 0 评论 -
//4.编写一个程序,它从标准输入读取c源代码,并验证所有的花括号都正确的成对出现。
#includeint main(){int ch = 0;int count = 0;while ((ch = getchar()) != EOF){if (ch == '}'){printf("不匹配\n");return 0;}if (ch == '{'){count++;}if (ch == '}'){count--;原创 2016-12-18 21:33:09 · 380 阅读 · 0 评论 -
//1.输入 * // *** // *
#includeint main(){int num = 0;printf("num=");scanf("%d", &num);int i = 0;for (i = 1; i {int j = 0;for (j = 1; j {printf(" ");}for (j = 1; j {printf("*");}printf("\原创 2016-12-18 21:32:25 · 232 阅读 · 0 评论 -
//2.输出0-999之间的水仙花数。
#include#includeint main(){int i = 0;int n = 0;int j = 0;int k = 0;int num = 0;int count = 0;for (i = 0; i {if (i == i * 1){printf("%d ", i);count++;}}for (i = 10;原创 2016-12-18 21:31:29 · 212 阅读 · 0 评论 -
//3.求和:n+nn+nnn+nnnn+nnnnn
#includeint main(){int n = 0;int num = 0;int sum = 0; printf("n=");scanf("%d", &n);int i = 0;for (i = 1; i {num += i*n;sum += num;}printf("sum=%d", sum);system("pause");原创 2016-12-18 21:29:55 · 5891 阅读 · 0 评论 -
//1.编写代码模拟三次密码输入的场景。//2.编写一个程序,可以一直接收键盘字符,如果是小写字符就输出对应的大写字符,如果接收的是大写字符,就输出对应的小写字符,如果是数字不输出。
//1.编写代码模拟三次密码输入的场景。#includeint main(){char pwd[20] = { 0 }; int i = 0;for (i = 0; i {printf("请输入密码:");scanf("%s",pwd);if (strcmp(pwd, "123456") == 0){break;}}if (i == 3)原创 2016-12-18 21:28:52 · 438 阅读 · 0 评论 -
//1.调整数组使奇数全部都位于偶数前面。 //题目: //输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。
//1.调整数组使奇数全部都位于偶数前面。//题目://输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。#include#includevoid adjust(int arr[10],int sz){int left = 0;int right = sz - 1;int temp = 0原创 2016-12-18 21:10:07 · 852 阅读 · 0 评论 -
c语言编程32位,二进制。
//1.编程实现://两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?//输入例子 ://1999 2299//输出例子 : 7#include#include#includeint compare(int a, int b){int i = 0;int count = 0;for (i = 0; i {if (((a原创 2016-12-18 19:43:27 · 2418 阅读 · 0 评论 -
c语言中的操作符和表达式求值
1.隐式类型转换char a,b,c;a=b+c;原创 2016-12-11 15:52:25 · 378 阅读 · 0 评论 -
头文件
1.头文件结构假设头文件名称为 graphics.h,则头文件的结构为: #ifndefGRAPHICS_H //防止graphics.h被重复引用#define GRAPHICS_H #include //引用标准库的头文件原创 2016-12-11 14:35:50 · 251 阅读 · 0 评论 -
//1.实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定, //输入9,输出9 * 9口诀表,输出12,输出12 * 12的乘法口诀表。
#includeint print(int num){int i = 0;for (i = 1; i {int j = 0;for (j = 1; j {printf("%d*%d=%d ",j,i,j*i );}printf("\n");}}int main(){int n = 0;scanf("%d", &n);原创 2016-12-18 21:38:51 · 1568 阅读 · 0 评论