
C语言
文章平均质量分 71
C语言
cdhuangjin-
生命很短,让他精彩一点!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
斐波那契数列C语言详解
编译环境:vc6.0#include <stdio.h>int fibonacci(int n){ if(n == 1 || n==2) return 1; else return fibonacci(n-1) + fibonacci(n - 2);}int main(){ int n; scanf("%d", &n); printf("斐波那契数列第%d项为:%d\n", n,fibonacci(n)); return 0;}测试案例...原创 2020-05-17 16:30:26 · 2328 阅读 · 1 评论 -
婚约数C语言详解
问题描述:婚约数指两个正整数中,彼此除了1和本身的其余所有约数的和与另一方相等,例如(48,75)。48 除1和本身所有约数相加是:2+3+4+6+8+12+16+24=7575 除1和本身所有约数相加是:3+5+15+25=24编译环境VC++6.0;代码:#include <stdio.h>int HunYue(int x){ int sum=0; for...原创 2020-03-06 15:43:02 · 1553 阅读 · 0 评论 -
判断某年是否为闰年的带宏参C语言详解
问题描述:定义一个判断某年是否为闰年的带参宏,从键盘输入一个年份,利用宏输出该年份是否为闰年#include <stdio.h>#define leapYear(y) ((y%4==0)&&(y%100!=0)||(y%400==0)) //宏定义int main(){ int year; printf("输入年份\n"); scanf("%...原创 2020-03-03 18:01:08 · 2502 阅读 · 0 评论 -
不使用库函数将数字的字符串转换为一个整数C语言详解
编译环境;vc++6.0代码:#include <stdio.h>int fun1(char str[]); //函数声明int main(){ char str[80]; int num; printf("请输入数字字符串\n"); gets(str); num=fun1(str); printf("结果是:%d\n",num); return 0;...原创 2020-03-02 11:23:23 · 1489 阅读 · 0 评论 -
将字符串中的数字移动到串尾C语言详解
问题描述:将数组s中的所有数字字符移动到非数字字符之后,并保持所有数字字符和所有非数字字符原有的先后顺序。方法:将数字存放到t1数组,其他字符存放到 t2数组,然后合并;编译环境:vc++6.0代码#include <stdio.h>void fun1(char s[]); //函数申明int main(){ char a[60]; printf...原创 2020-03-01 19:27:59 · 3769 阅读 · 0 评论 -
二维数组的转置C语言详解
转置:简单的说就是行列互换编译环境:vc++6.0代码#include <stdio.h>#define M 3#define N 4int Transpose(int arry1[][N],int arry2[][M]) //转置函数{ for(int i=0;i<M;i++) for(int j=0;j<N;j++) arry2[j...原创 2020-03-01 14:48:05 · 20872 阅读 · 2 评论 -
删除字符串中指定的字符C语言详解
问题描述:从键盘输入一个字符串和一个字符,删除字符串中所指定的字符,将结果保存到一个新的字符串中并输出编译环境:vc++ 6.0;代码#include <stdio.h>int main(){ char str1[80], str2[80], ch; int i,j=0; printf("输入字符串\n"); gets(str1); printf("输入要删除的...原创 2020-03-01 12:12:12 · 23948 阅读 · 5 评论 -
统计字符串中每个字母各自出现的次数
问题描述:编程从键盘输入一个字符串,统计该字符串中从a到z共26个字母各自出现的次数,将结果存入到数组中,并输出方法思路:建数组a[26]={0},分别统计a到z出现的次数;如:出现’a’时a[0]++;编译环境:vc++6.0代码#include <stdio.h>int main(){ char str[80]; int a[26]={0}; ...原创 2020-03-01 11:43:11 · 15114 阅读 · 2 评论 -
不使用库函数进行字符串连接C语言详解
问题描述:从键盘输入两个字符串,将第二个字符串连接到第一个字符串的后面,并输出连接后的结果。不能使用库函数;编译环境:vc++6.0代码:#include <stdio.h>int main(){ char a[20],b[10]; int i=0,j=0; printf("请输入字符串a\n"); gets(a); printf("请输入字符串b\n"); ...原创 2020-02-29 18:59:24 · 4735 阅读 · 3 评论 -
用迭代公式求x的立方根C语言详解
问题描述:编译环境:vc++6.0代码:#include <stdio.h>#include <math.h>int main(){ double num, x0, x1; printf("请输入x的值\n"); scanf("%lf", &num); x0 = num; x1 = (2*x0+num/(x0*x0))/3; while (...原创 2019-12-27 16:20:21 · 7020 阅读 · 0 评论 -
求数列1/2,2/3,3/5,5/8,8/13,13/21的前N项的和C语言详解
编译环境:vc++6.0代码:#include <stdio.h>#define N 20int main(){ float a = 1, b = 2, sum = 0.0; for (int i = 0; i < N; i++) { sum += a / b; b = a + b; a = b - a; } printf("sum=%lf\n",...原创 2019-12-27 16:16:34 · 10975 阅读 · 2 评论 -
计算两个日期之间,相差多少天C语言详解
问题描述:如2019-12-27与2017-11-7,相差780天。编译环境:vc++6.0代码:#include <stdio.h>/*计算两个日期之间相差多少天*/struct date{ int years; int months; int days;};int days_on_month[13] = { 0,31,28,31,30,31,30,31,3...原创 2019-12-27 16:03:58 · 12644 阅读 · 9 评论 -
求某年某月某日,是当年的第几天C语言详解
编译环境:vc++6.0代码:#include <stdio.h>#include <stdlib.h>#define leapYear(years) (years%4==0&&years%100!=0||years%400==0) //宏定义函数,判断是否是闰年/*求某年某月某日,是当年的第几天*/static int day_on_mon...原创 2019-12-27 15:52:41 · 945 阅读 · 0 评论 -
十六进制转十进制C语言详解
问题描述:输入一个十六进制的字符串,输出其对应的十进制整数编译环境:vc++6.0代码:#include <stdio.h>#include <stdlib.h>#include <math.h>/*输入一个十六进制的字符串,输出其对应的十进制整数*///方法:按位乘权相加int converts(char* str){ char* p ...原创 2019-12-27 15:39:26 · 1610 阅读 · 0 评论 -
十进制转化为十六进制C语言详解
问题描述:输入一个十进制整数(可能大于15),转化为十六进制输出解决方法:除16取余数倒排,取余结果放入到str1,倒排结果放入到str2编译环境:vc++6.0代码:#include <stdio.h>/*输入一个十进制整数(可能大于15),转化为十六进制输出*//*十进制转十六进制,方法:除16取余数倒排取余结果放入到str1,倒排结果放入到str2*/char...原创 2019-12-27 15:34:00 · 10246 阅读 · 2 评论 -
输入年月日,输出这个月还有几天,C语言
编译环境:vc++6.0代码:#include <stdio.h>#include <string.h>/*输入年月日,输出这个月还有几天*/int leapyear(int years) //判断是否是闰年{ if (years % 4 == 0 && years % 100 != 0 || year...原创 2019-12-27 15:27:51 · 1215 阅读 · 0 评论 -
将一行字符串按单词倒排输出C语言详解
问题描述:将一行字符串按单词倒排输出,如输入I love you 输出 you love me。编译环境:vc++6.0代码:#include <stdio.h>#include <string.h>/*将一行字符串按单词倒排输出如输入I love you 输出 you love me*/void invert(char* origin, cha...原创 2019-12-27 15:18:45 · 2343 阅读 · 0 评论 -
strcmp函数的实现C语言详解
编译环境:vc++6.0代码:#include <stdio.h>/*strcmp函数的实现*/int HJstrcmp(){ char a[81], b[81], * p, * q; //每个字符串最多80个有效字符 printf("请输入两个字符串:\n"); gets(a), gets(b); p = a, q = b; while( *p || *...原创 2019-12-27 15:03:40 · 506 阅读 · 0 评论 -
将两个有序的数组,归并为一个有序的新数组C语言详解
问题描述:将两个有序的数组,归并为一个有序的新数组编译环境:vc++6.0代码:#include <stdio.h>/*将两个有序的数组,归并为一个有序的新数组*/int main(){ int i = 0, j = 0, k = 0; int a[5] = { 4,9,17,18,19 }, b[5] = { 2 ,6,7 ,11, 18 }, c[10]; ...原创 2019-12-27 14:55:27 · 4575 阅读 · 0 评论 -
用行指针访问二维数组
问题描述:用行指针访问二维数组编译环境vc++6.0代码:#include <stdio.h>int main(){ int a[3][4] = { 1,2,3,4,5,6,7,8,9,10,11,12 }; int(*p)[4]; //行指针 p = a; //指向数组a的第一行 printf...原创 2019-12-27 14:47:22 · 1060 阅读 · 0 评论 -
从字符串中提取连续的整数,并统计个数C语言详解
问题描述:从字符串中提取连续的整数,并统计个数编译环境:vc++6.0代码:#include <stdio.h>/*从字符串中提取连续的整数,并统计个数*/int main(){ char str[81], * p = str; int count = 0, num; printf("请输入含数字的字符串:\n"); gets(str); while (*p) ...原创 2019-12-27 14:42:20 · 5626 阅读 · 5 评论 -
简单字符串匹配,统计子字符串在源字符串中的出现次数C语言详解
例如:输入源字符串:“abcdefg”, 子字符串:“fg”输出:“出现一次”。编译环境:vc++6.0代码:#include <stdio.h>#include <string.h>int count(char s[], char t[]); //函数声明 统计串t在串s中出现的次数int main(){ char str[20], sub[5]...原创 2019-12-05 21:19:08 · 627 阅读 · 0 评论 -
四则运算简易计算器C语言详解
问题描述:输入一个不含括号的四则运算表达式,输出计算结果。方法:四则运算只有两种优先级,在输入两步计算(三个操作数)之后一定能得到一个结果。如1-2*3,无论3后的操作符是什么,2*3都可以先计算。则1-2*3=1-6,继续读取操作符,如1-6+2,继续重复上面操作。编译环境:vc++6.0#include <stdio.h>#include <stdlib.h>...原创 2019-11-16 17:22:50 · 6939 阅读 · 3 评论 -
简单冒泡排序
#include <stdio.h>#define T 10int main(){ int i, j, a[T]; printf("请输入%d个数字,空格分隔:\n", T - 1); for (i = 1; i < T; i++) //a[0] 存放交换时的临时数据 scanf("%d", &a[i]); for (i = 1; i &...原创 2019-11-16 16:53:55 · 134 阅读 · 0 评论 -
求两个正整数的最大公约数C语言详解
方法:辗转相除法编译环境:vc++6.0#include <stdio.h>int main(){ int a, b,c ; //c是余数 printf("请输入两个整数,空格分开:\n"); scanf("%d%d", &a, &b); do { c = a % b; if (c == 0) { printf("最大公约数...原创 2019-11-16 16:47:02 · 1757 阅读 · 0 评论 -
Armstrong 一个n位数等于各个位数n次方之和
问题描述:Armstrong 一个n位数等于各个位数n次方之和例如153 = 111+555+333;找出2 3 4 5 位数中所有Armstrong 数编译环境vc++6.0#include <stdio.h>#include <math.h>int fun(int x, int a[]){ int m = 0; for (int i = 0; i &l...原创 2019-10-30 17:22:56 · 1708 阅读 · 0 评论 -
输出2—1000的所有同构数c语言详解
问题描述:输出2—1000的所有同构数。出现在平方项的有段,如5,6,25的平方为25、36、625。所以5、6、 25是同构数。编译环境:vc++6.0#include <stdio.h>int main() {int i; for (i = 4; i < 1000; i++) if (i < 10 && i * i % 10 == ...原创 2019-10-30 17:17:43 · 6525 阅读 · 3 评论 -
将1-9分成三组,组成三个三位数,构成1:2:3的比例
问题描述:将1-9分成三组,组成三个三位数,使这三个数,构成1:2:3的比例如192:384:576,找出这些数字编译环境VC++6.0代码有借鉴(忘记哪看到的)#include <stdio.h>int main() {int a, b, c, i, j, s[9]; for (a = 100; a < 333; a++) { b = 2 * a, ...原创 2019-10-30 17:15:22 · 14648 阅读 · 14 评论 -
百钱买百鸡C语言详解
问题描述:百钱买百鸡,公鸡3文每只,母鸡2文每只,小鸡1文三只100文买100只,各多少只注意:钱花完,鸡数目刚好编译环境:vc++6.0#include <stdio.h>int main() {int x, y; for (x = 0; x < 33; x++) for (y = 0; y < 51; y++) if (3 * x + 2 ...原创 2019-10-30 17:11:56 · 3338 阅读 · 0 评论 -
abc+cba=固定值n,求a、b、c.C语言详解
问题描述:求abc+cba=固定值n,的所有的a、b、c组合,n由键盘输入编译环境vc++6.0#include <stdio.h>int main() {int a, b, c, n; printf("请输入n的值:\n"); scanf("%d", &n); for (a = 0; a < 10; a++) for (b = 0; b <...原创 2019-10-30 17:09:03 · 3117 阅读 · 0 评论 -
求和s=a+aa+aaa+aaaa+.... C语言详解
问题描述:输入a 的值和求和项数n,求和s=a+aa+aaa+aaaa+…方法:第i项的值x=x*10+a; x初值为0;sum+=x;#include <stdio.h>int main() { double sum = 0; int a, num,x=0; //num求和项数,x是第i个元素的值 printf("请输入a的值和求和个数,空格分离:\n")...原创 2019-10-30 17:04:45 · 6542 阅读 · 2 评论 -
奇数天吃掉前一天的一半零一个、偶数天吃掉前一天的一半零两个
问题描述:猴子吃桃问题2,奇数天吃掉前一天的一半零一个、偶数天吃掉前一天的一半零两个,请问第一天摘了多少个桃子。方法:回溯#include <stdio.h>int fun2(int d)/*奇数天吃掉前一天的一半零一个、偶数天吃掉前一天的一半零两个*/{ if (d == 1) return 1; else if (d % 2 == 0) ...原创 2019-10-30 16:42:53 · 289 阅读 · 0 评论 -
猴子吃桃每天吃掉前一天的一半零一个桃c语言详解
问题描述:*猴子吃桃问题,每天吃掉前一天的一半零一个桃第10天发现只剩下一个桃子,请问第一天摘了多少个桃子*方法:从第十天开始回溯到第一天。编译环境:vc++6.0#include <stdio.h>#include <stdlib.h>int Fun(int d) //d回溯天数{ if (d == 1) return 1; ...原创 2019-10-30 16:33:56 · 3660 阅读 · 0 评论 -
统计文本文件中每一种ASCII码字符各出现了多少次C语言详解
测试案例统计"C:\Users\king\Desktop\hj.txt",各anscii码字符出现了多少次。#include <stdio.h>#include <stdlib.h>int main(){int i, c, a[128] = { 0 }; FILE* fp; if (((fp = fopen("C:\\Users\\king\\Desktop...原创 2019-10-30 16:28:20 · 1240 阅读 · 0 评论 -
打印9*9乘法表C语言详解
送分题,少废话,看代码编译环境vc++6.0#include <stdio.h>int main(){for (int i = 1; i <= 9; i++) { for (int j = 1; j <= i; j++) printf("%d*%d=%d\t",i,j,i*j); printf("\n"); } return 0;}输...原创 2019-10-30 16:19:37 · 200 阅读 · 0 评论 -
水仙花数,C语言
问题描述:统计水仙花数的个数,并输出水仙花数指的是,一个三位数,各位的立方和等于其本身。如153=111+555+333=153编译环境:VC++6.0#include <stdio.h>int main(){ int count = 0; int x, y, z; //x,y,z 分别存放个位、十位、百位数 for (int i = 100; i < 1...原创 2019-10-30 16:05:22 · 647 阅读 · 0 评论 -
排列组合问题,01234 五个数能组成多少个互不相同的三位数,且数字不重复。
注意百位不能为0;编译环境:vc++6.0#include <stdio.h>/*穷举*/int main(){ int x; for (int i = 1; i <= 4; i++) for (int j = 0; j <= 4; j++) { for (int k = 0; k <= 4; k++) { if (i ==...原创 2019-10-30 16:01:44 · 7159 阅读 · 1 评论 -
左(下)上三角、右上(下)三角输出、正(倒)三角,C语言
#include <stdio.h>int Fun1()/*左上三角*/{ for (int i = 1; i <=5; i++) { for (int j = 1; j <= i; j++) printf("A"); printf("\n"); } return 0;}int Fun2()/*右上三角形*/{ int a, b, c;...原创 2019-10-30 15:56:16 · 6738 阅读 · 0 评论 -
从第二项开始,每一项分子是前一项分子与分母之和.......2/1,3/2,5/3,8/5,13/8.......前N项之和C语言详解
#include <stdio.h>#define N 20 //N=20int main () { float x = 2, y = 1, temp; float sum=x/y; for (int i = 2; i <= N; i++) { sum += (x + y) / x; temp = x; x = (x + y); ...原创 2019-10-30 15:48:12 · 3492 阅读 · 1 评论 -
牛顿迭代法求解方程C语言详解
问题描述:用牛顿迭代法求解方程2x3-4*x2+3x-6=0在1.5附近的近似解,误差小于1e-5#include <stdio.h>#include <math.h>int main () { float x,x0, f1, f2; printf("请输入一个近似解:\n"); scanf("%f", &x); do { x0 = ...原创 2019-10-30 15:43:35 · 4743 阅读 · 1 评论