
C语言程序
❦一叶知秋ღ~
一叶落知天下秋~
展开
-
酒店管理系统
酒店管理系统#include <stdio.h>#include <string.h>#include <ctype.h> //用于测试字符是否属于特定的字符类别#include <stdlib.h>#include <windows.h>#define ROOM_NUM 3 /* 最多的房间数 */typedef struct room{ int num; /* 房间号原创 2020-06-09 21:07:41 · 396 阅读 · 1 评论 -
大整数计算器
具有si加、减、乘、除sitypedef int status;typedef char Elem;#define OK 0#define ERROR -1#define MAXN 25000#include <iostream>#include <cstdio>#include <cstdlib>#include <cstring&g...原创 2019-12-06 18:44:16 · 1730 阅读 · 1 评论 -
将参数字符串中的字符反向排列
编写一个函数 reverse_string(char * string)(递归实现)实现:将参数字符串中的字符反向排列。要求:不能使用C函数库中的字符串操作函数。#include<stdio.h>void reverse_string(char * string){ if(*string!='\0'){ printf("%c",*string); rev...原创 2019-11-19 23:21:23 · 188 阅读 · 0 评论 -
写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和
写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和,例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19#include<stdio.h>int DigitSum(int n){ if(n<=10){ return n; } else{ return n%10+DigitSum(n/10); ...原创 2019-11-19 22:28:31 · 151 阅读 · 0 评论 -
编写一个函数实现n^k,使用递归实现
对于编写一个函数实现n^k,使用递归实现的问题,我们可以通过一下代码来实现。#include<stdio.h>int calc(int n,int k){ if(k==1) return n; else return n*calc(n,k-1);}int main(){ int n,k; scanf("%d %d",&n,&k); printf...原创 2019-11-19 21:30:37 · 323 阅读 · 0 评论 -
递归和非递归分别实现求第n个斐波那契数
对于递归和非递归分别实现求第n个斐波那契数的问题,我们可以通过一下代码来实现。#include<stdio.h>const int maxn=100000;int calc(int n){ if(n==1||n==2) return 1; else return calc(n-1)+calc(n-2);}int main(){ int n,a=1,b,c=0; ...原创 2019-11-19 21:24:02 · 109 阅读 · 0 评论 -
求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字,
求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字例如:2+22+222+2222+22222#include<stdio.h>#include<math.h>int main(){ int Sn=0,n,sum; scanf("%d",&n); for(int i=1;i<=5;i++){ sum=0;...原创 2019-11-19 20:41:38 · 276 阅读 · 0 评论 -
求出0~999之间的所有“水仙花数”并输出
求出0~999之间的所有“水仙花数”并输出“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;153=1+5+3?,则153是一个“水仙花数”。/*在数论中,水仙花数(Narcissistic number)也称为自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),是指一N位数,其各个数之N次方和等于该数。例如153、370、371及407就是三位...原创 2019-11-19 20:05:55 · 201 阅读 · 0 评论 -
菱形打印
按照格式打印以下图形 * *** ***** ***** *** *#include<stdio.h>int main(){ int n=13; for(int i=1;i<=(n+1)/2;i++){ for(int j=i;j<=(n-1)/2;j++){ printf(" "); }...原创 2019-11-19 19:54:13 · 137 阅读 · 0 评论 -
编写程序数一下 1到 100 的所有整数中出现多少次数字9
对于编写程序数一下 1到 100 的所有整数中出现多少次数字9的问题,下面为具体的算法分析及程序。首先定义一个记录数字9出现次数的变量number,再通过对数字取余判断个位上数字9出现的次数,对数字除10判断十位上数字9出现的次数,最后将这两部分相加可得出1~100内数字9出现的次数的结果下面是具体的代码实现:#include <stdio.h>int main(){...原创 2019-11-06 22:25:12 · 926 阅读 · 0 评论 -
计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值
对于计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值的问题,从个方面设计解决方案,下面为具体的算法分析及程序。算法一:首先使用浮点型(double)定义一个sum变量,调用for函数实现此问题,使用pow函数进行加减符号的转换,将最后计算得到的结果赋给sum,最后再对sum进行输出#include <stdio.h>#include ...原创 2019-11-06 21:21:08 · 765 阅读 · 0 评论 -
将数组A中的内容和数组B中的内容进行交换
对于将数组A中的内容和数组B中的内容进行交换(数组一样大)的问题,下面为具体的算法分析及程序。先定义三个字符串数组,通过调用字符串strcpy函数,实现数组内容的交换#include <stdio.h>#include <string.h>int main(){ char str1[100],str2[100],str3[100]; scanf(...原创 2019-11-06 20:52:08 · 259 阅读 · 0 评论 -
求两个数的最大公约数
对于求两个数的最大公约数的问题,下面为具体的算法分析及程序。采用辗转相除法、相减法、穷举法求最大公约数下面是具体的代码实现:#include <stdio.h>int xc_gcd(int a,int b)//辗转相除法最大公约数{ int c; c=a%b; while(c!=0) { a=b; b=c; c=a%b; ...原创 2019-11-06 11:17:38 · 168 阅读 · 0 评论 -
将三个数按从大到小输出
对于将三个数按从大到小输出的问题,可从两个方面设计解决方案,下面为具体的算法分析及程序。算法一:先定义一个长度为3的整形数组,通过scanf函数将数据输入数组中,将数组中元素采用选择法从大到小排序,最后再使用printf函数进行输出。下面是具体的代码实现:#include <stdio.h>int main(){ int max,a[3]; for(int ...原创 2019-11-06 10:44:32 · 1043 阅读 · 0 评论 -
求10个整数中最大值
对于求得10个整数中最大值问题,,可从六个方面设计解决方案,下面为具体的算法分析及程序。算法一:可采用三目运算符进行获得: 条件格式为:表达式1?表达式2:表达式3 例如:max=a>b?a:b;先建立一个长度为10的整形数组,运用scanf函数将10个整数数据输入到数组中,再采用三目运算符进行取舍,再创建一个变量max,将所得的最大值赋给max,最后再进行输出。下面是...原创 2019-11-06 10:23:27 · 6880 阅读 · 1 评论 -
给定两个整形变量的值,将两个值的内容进行交换
1.List item定义零时变量#include <stdio.h>int main(){ int a,b; scanf("%d %d",&a,&b); int t;//定义领事变量t t=a; a=b; b=t; printf("%d %d",a,b); return 0;}2.交换地址#include <stdi...原创 2019-11-05 17:42:31 · 476 阅读 · 0 评论 -
判断1000年---2000年之间的闰年
判断1000年—2000年之间的闰年#include <stdio.h>void fact(int n){//判断n是否闰年 if(n%4==0&&n%100!=0||n%400==0) printf("%d是闰年\n",n); else printf("%d不是闰年\n",n);}int main(){ int n; printf("请输入...原创 2019-11-03 01:12:03 · 98 阅读 · 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",j,i,i*j); } printf("\n"); } return 0;}原创 2019-11-03 01:08:55 · 94 阅读 · 0 评论 -
打印100~200 之间的素数
打印100~200 之间的素数#include <stdio.h>#include <math.h>void fact(int n){//判断n是否为素数,若为素数,则打印出来 int k=0; for(int j=2;j<=sqrt(n);j++){ if(n%j==0){ k++; break; } }...原创 2019-11-03 01:07:36 · 118 阅读 · 0 评论