C语言
hanjing_1995
Just do IT
展开
-
【C语言 】用C语言实现乘法口诀表
程序代码:#define _CRT_SECURE_NO_WARNINGS 1#include#includevoid MultiplicationTable(){ for (int i = 1; i < 10; i++) { for (int j = 1; j < 10; j++) { printf("%d*%d=%原创 2016-05-30 17:11:49 · 662 阅读 · 0 评论 -
用C语言编写:求10 个整数中最大值
求10 个整数中最大值:#include#includeint MaxDigit(int arr[],int n){ int bigger = 0; int i = 0; int tmp = arr[0]; while (i < 10) { if (tmp >= arr[i + 1]) { b原创 2016-05-30 17:11:53 · 1260 阅读 · 0 评论 -
【C语言】给定两个整型变量的值,将两个值的内容进行交换(不同方法)
给定两个整型变量的值,将两个值的内容进行交换,现在我介绍几种不同的实现方法:法1:在主函数里实现,这样操作这两个值时并未重新开辟空间,直接交换可以达到目的。#include#includeint main(){ int a = 10; int b = 20; int tmp = a; a = b; b = tmp; pri原创 2016-05-30 17:11:55 · 4896 阅读 · 0 评论 -
【C语言】编写函数实现:100-200素数的输出
这里面,先要理解素数如何求得,可用自己除以2到自己的前一位,根据余数情况判断是素数还是合数。 优化:(1)从101开始,每次自加2,这样提高效率一倍。(2)一直除以自己的平方根也可。#include#include#includevoid Prime(){ int num = 100; int k = 0; int i = 2; for (num原创 2016-05-30 17:11:58 · 8422 阅读 · 0 评论 -
【C语言】求1000-2000年的闰年,并统计个数
总结的求闰年的口诀: 四年一闰,百年不闰,四百年再闰。#include#includevoid LeapYear(){ int year = 1000; int count = 0; for (; year < 2000; year++) { if (year % 4 == 0 && year % 10原创 2016-05-30 17:12:01 · 2024 阅读 · 0 评论 -
【C语言】交换两个数组内容(数组一样大)
说明:(1)使用中间变量tmp,实现交换(2)注意交换函数实现时可传值(在main函数里面),引用,传指针的实现,具体可以参见我的博客:http://10740184.blog.51cto.com/10730184/1697629#include#includevoid swap(int* p1, int* p2){ int tmp = *p1; *p1 = *p2;原创 2016-05-30 17:12:04 · 4408 阅读 · 0 评论 -
获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列。
#include int main(){ int a,i=0; int arr1[16],arr2[16]; scanf("%d",&a); while(i { arr1[i/2]=a%2; a=a>>1; i++; arr2[(i-1)/2]=a%2; a=a>>1;原创 2016-05-30 17:12:07 · 413 阅读 · 0 评论 -
输出一个整数的每一位
#includeint main(){int a,b,c,number;scanf("%d",&number);printf("百位:%d\n",a=number/100);printf("十位:%d\n",b=(number-100*a)/10);printf("个位:%d\n",c=number-100*a-10*b);return 0;} 以原创 2016-05-30 17:12:10 · 372 阅读 · 0 评论 -
C语言:计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值
要注意定义其类型double,对于符号正负的处理可分成两部分来分别求,或是pow(-1,n),引用头文件。并且注意次方函数类型是double型的。#include#includevoid sum(){ double a = 1.0; //分母 double sum = 1.0 / a; int i = 2; for (; i <= 100; i++)原创 2016-05-30 17:12:13 · 1629 阅读 · 0 评论 -
C语言:编写程序数一下 1到 100 的所有整数中出现多少次数字 9
#include#includevoid NineNumber(){ int num = 1; int count = 0; int unit = 0; int ten = 0; int hundred = 0; for (; num <= 100; num++) { hundred = num / 100;原创 2016-05-30 17:12:16 · 959 阅读 · 0 评论 -
在屏幕上输出图案:*与空格拼出的菱形
#includeint main(){ int i,j; for(i=1;i<=7;i++) { for(j=1;j<=7-i;j++) { printf(" "); } for(j=1;j<=(2*i-1);j++) { printf("*"); } printf("\n"); } for(i=1;i<=6;i++) { for(j=1原创 2016-05-30 17:12:19 · 742 阅读 · 0 评论 -
C语言:求出0~999之间的所有“水仙花数”并输出
“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;153=1+5+3,则153是一个“水仙花数”。 在数论中,水仙花数(Narcissistic number)也称为自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),是指一N位数,其各个数之N次方和等于该数。 例如153、370、371及407就是三位数的水仙花数,其各个数之立方和等于该数:原创 2016-05-30 17:12:22 · 2187 阅读 · 0 评论 -
C语言:每隔一秒,动态首尾依次输出一个字符,直到全部输出
#include#include#includevoid Test(){ char arr1[] = "###############"; char arr2[] = "welcome to bit!"; int len = strlen(arr1); /*int len = sizeof(arr1) / sizeof(arr1[0]);*/ in原创 2016-05-30 17:12:25 · 4281 阅读 · 0 评论 -
C语言:模拟输入密码系统,三次以内正常通过,三次退出程序
#include#includeint main(){ int i = 0; char arr1[] = "123456"; char arr2[20]; printf("please input your password: \n"); for (; i<3; i++) { scanf("%s", &arr2);原创 2016-05-30 17:12:28 · 2994 阅读 · 0 评论 -
C语言:求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字,例如:2+22+222+2222+22222
#include#includevoid summation(){ int num = 0; scanf("%d", &num); int sum = num; int next = num; int i = 1; for (; i < 5; i++) { next = num + 10 * next;原创 2016-05-30 17:12:31 · 1069 阅读 · 0 评论 -
C语言:编写一个程序,它从标准输入(终端)读取C源代码,并验证所有的花括号都正确的成对出现
#include #includeint main(){ int ch; int count = 0; while ((ch = getchar()) != EOF) { if (ch == '{') { count++; } else if (ch == '}')原创 2016-05-30 17:12:34 · 265 阅读 · 0 评论 -
C语言:编写折半查找函数,即二分法
#include#includeint Binary(int arr[],int size,int x){ int left = 0; int right = size - 1; int mid = left - (left - right) / 2; //防止溢出!!!int mid =( left - right )/2 好。 while (原创 2016-05-30 17:12:37 · 1034 阅读 · 0 评论 -
C语言:编写猜数字游戏,猜一个数字,一直到猜中为止
#include#include#includeint game(){ int num = 0; int ret = 0; srand((unsigned int)time(NULL)); ret = rand(); ret = ret % 100; while (1) { scanf("%d", &num);原创 2016-05-30 17:12:40 · 2731 阅读 · 0 评论 -
C语言:编这样一个程序,用户输入10个整数,程序找出其中的最大值和最小值
#include#includevoid MaxMin(int arr[],int len){ int Max = 0; int Min = 0; int i = 0; for (; i < len - 1; i++) { if (arr[i] >= arr[i + 1]) { Max原创 2016-05-30 17:12:43 · 7671 阅读 · 1 评论 -
C语言:编写程序求解:有1,2,3,4,个数字,将组成互不相同且无重复数字出现的三位数打印出来
#include#includevoid Test(){ int j = 1; int k = 1; int t = 1; int num = 0; for (j = 1; j <= 4; j++) { for (k = 1; k <= 4; k++) { for (t = 1; t <原创 2016-05-30 17:12:46 · 4828 阅读 · 0 评论 -
C语言:标准输入读取几行输入。每行输入都要打印到标准输出上,前面加上行号。行号不能有限制
#include#includeint main(){ char str; int count = 1; int start = 1; while (1) { printf("input your line\n"); do { scanf("%c", &str);原创 2016-05-30 17:12:50 · 766 阅读 · 0 评论 -
C语言:5位运动员每人说了两句话,均有一句话正确,预测比赛结果
#include#includeint main(){ int A = 0; int B = 0; int C = 0; int D = 0; int E = 0; for (A = 1; A <= 5; A++) { for (B = 1; B <= 5; B++) { for原创 2016-05-30 17:12:53 · 482 阅读 · 0 评论 -
【面试题】C语言:根据A,B,C,D四人没人说得一句话,四句话仅有三句话正确,判断嫌疑犯
#include#includeint main(){ int A; int B; int C; int D; for (A = 0; A <= 1; A++) { for (B = 0; B <= 1; B++) { for (C = 0; C <= 1; C++)原创 2016-05-30 17:12:55 · 3892 阅读 · 1 评论 -
C语言:在屏幕上打印杨辉三角形
杨辉三角形:650) this.width=650;" src="http://s1.51cto.com/wyfs02/M02/7A/9C/wKiom1attV-Sd1_CAAAl7NldYpc126.png" title="`QEHHLZ6TLLK$ZC67INO6(1.png " alt="wKiom1attV-Sd1_CAAAl7NldYpc126.png" /> #include #in原创 2016-05-30 17:12:58 · 688 阅读 · 0 评论 -
C语言:实现一个函数,打印乘法口诀表,如:输入9,输出9*9口诀表
#include#includeint main(){ int num = 0; scanf("%d", &num); int i = 1; int j = 1; int sum = 0; for (; i <= num; i++) { for (j = 1; j <= i; j++) {原创 2016-05-30 17:13:01 · 6637 阅读 · 0 评论 -
【面试题】C语言:使用函数实现两个数的交换
#include#includevoid swap(int *i, int *j){ int tmp = *i; *i = *j; *j = tmp;}int main(){ int i = 0; int j = 0; scanf("%d%d", &i,&j); swap(&i, &j); printf("%d原创 2016-05-30 17:13:05 · 958 阅读 · 0 评论 -
C语言:实现一个函数判断year是不是闰年
判断是否是闰年: 四年一闰,百年不闰,四百年再闰#include#includeint leap(int year){ int ret = 0;; if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) { return 1; }原创 2016-05-30 17:13:08 · 1302 阅读 · 0 评论 -
C语言:实现函数init()初始化数组、 实现empty()清空数组、 实现reverse()函数完成数组元素的逆置
#include#include//初始化数组void init(int arr[], int len){ int i = 0; printf("初始化数组->:\n"); for (i = 0; i < len; i++) { scanf("%d", &arr[i]); }}//逆置数组void reverse(int原创 2016-05-30 17:13:11 · 489 阅读 · 0 评论 -
【面试题】C语言:实现一个函数,判断一个数是不是素数。
#include#include#includeint prime(int num){ int k = 0; int i = 0; k = sqrt(num); for (i = 2; i <= k; i++) /*不满足循环条件时即均不可被整除,不是素数*/ { if (num%i == 0) {原创 2016-05-30 17:13:14 · 695 阅读 · 0 评论 -
【经典游戏编程题】C语言:编写一个棋盘游戏,与二维数组结合
编写了五个函数,再用主函数调用:#include#includechar arr[3][3];void print(){ int i = 0; for (i = 0; i<3; i++) { printf("%c|%c|%c|\n", arr[i][0], arr[i][1], arr[i][2]); printf("_|_|_|原创 2016-05-30 17:13:17 · 944 阅读 · 0 评论 -
C语言:编写折半查找函数
思路:先把中间元素找到,寻找的元素在中间元素左边,则小于中间元素,改变right。再继续折半找中间元素寻找。#include#include#includeint Binary(int x, int arr[], int left, int right){ int mid = 0; while (left <= right) { int mid =原创 2016-05-30 17:13:20 · 712 阅读 · 0 评论 -
C语言:猴子吃桃问题,每天吃一半多一个,第 10天后只剩1个,求共多少个
#include#includevoid Test(){ int sum = 1; int i = 1; for (; i < 10; i++) { sum = (sum + 1) * 2; } printf("%d", sum);}int main(){ Test(); system("pause"原创 2016-05-30 17:13:23 · 4631 阅读 · 0 评论 -
C语言:有一个分数序列,2/1+3/2+5/3+8/5+13/8+…求出这个数列前 20 项的和
#includeint main(){ float i=1; float j=2; float sum=0; float s=0; float t=0; int a=0; sum=j/i; for(a=1;a<20;a++)/*控制循环次数*/ { t=i;原创 2016-05-30 17:13:26 · 2912 阅读 · 0 评论 -
C语言:一个球从 100 米落下,每次落地后反跳回原一半,再落下,再反弹。求第10次高度?sum?
#includeint main(){ float h = 100; float sum = 100; for (int i = 0; i<10; i++) { h = h / 2; sum = sum + h * 2; } printf("max=%lf \n", h); printf("sum=%l原创 2016-05-30 17:13:29 · 1219 阅读 · 1 评论 -
C语言:编写从一个字符串中提取一个子字符串的函数my_substr
#include#include#includechar* my_substr(char* dest, const char* src, size_t pos, size_t destlen){ assert(src); size_t srclen = strlen(src); assert(pos <= srclen); char* start = sr原创 2016-05-30 17:13:32 · 1523 阅读 · 0 评论 -
C语言:利用指针和函数调用编写字符串拷贝函数strcpy
#include#include/*断言的头文件*/char *my_strcpy(char *dest,const char *src)/*传参,把src依次传给dest,指针数组,每一个都是地址*/{ char* ret = p;/*接收的为地址*/ assert(src!=NULL); /*,使用指针一定要先用查找函数判断是否为空,防止不小心将空地址原创 2016-05-30 17:13:35 · 8363 阅读 · 0 评论 -
C语言:两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同(模除、移位)
#include#includeint BitDiffer(int m,int n){ int i = 0; int count = 0; for (; i < 32; i++) /*在计算机内是按32位二进制来存储的,循环32次*/ { if (m % 2 != n % 2) { count原创 2016-05-30 17:13:38 · 759 阅读 · 0 评论 -
C语言:编写函数将一个整数的二进制位模式从左到右翻转后的值输出
#include#includetypedef unsigned int uint;uint reverse_bit(uint value){ int i = 31; uint newnum= 0; for(;i>=0;i--) { newnum = newnum + (value %2 ) * pow(2, i)原创 2016-05-30 17:13:41 · 931 阅读 · 0 评论 -
C语言:不使用(a+b)/2这种方式(会溢出),求两个数的平均值
#includeint average(int x,int y){ int ret=x-(x-y)/2; return ret;}int main(){ int a=0; int b=0; int ret=0; scanf("%d%d",&a,&b); ret=average(a,b); print原创 2016-05-30 17:13:44 · 2140 阅读 · 2 评论 -
C语言:一组数据中只有一个数字出现了一次。其他所有数字都是成对出现的。请找出这个数字。(
#includeint main(){ int arr[]={1,3,3,1,4,6,4,5,5}; int i=0; int len=sizeof(arr)/sizeof(arr[0]); /*找出单独的数,就将数组中的每个数全都取异或运算, 如:arr[1]={1,3,3,1,4} 01^11=10,再用这个结果1原创 2016-05-30 17:13:47 · 2819 阅读 · 0 评论