c语言
糯米团子沐沐
只有你想不到的,没有你做不到的
展开
-
设有A,B,C,D,E五人从事J1,J2,J3,J4,J5五项工作,每人只能从事一项,找到效益最高的的一种组合输出
设有A,B,C,D,E五人从事J1,J2,J3,J4,J5五项工作,每人只能从事一项,他们的效益如下。每人选择五项工作中的一项,在各种选择的组合中,找到效益最高的的一种组合输出。#include<stdio.h>#include<stdlib.h>int MansToJobs[6][6]={ {0,0,0,0,0,0}, ...原创 2019-04-28 17:46:46 · 4421 阅读 · 0 评论 -
求第n个斐波那契数(不用递归的方法,用循环)
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>int Fib(int n){ if (n == 1 || n == 2) // |按位或,||逻辑或 { return 1; } int last1 = 1; //第i - 1项 int last2 =...原创 2018-12-29 20:12:45 · 301 阅读 · 0 评论 -
求第n个斐波那契数(用递归的形式)
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>int Fib(int n){ if (n == 1 || n == 2) // |按位或,||逻辑或 { return 1; } return Fib(n - 1) + Fib(n - 2);}int ma...原创 2018-12-29 20:11:22 · 510 阅读 · 0 评论 -
写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>int DigitSum(int n){ if (n > 0) { return n % 10 + DigitSum(n / 10); } return 0;}int main(){ int n = 0; ...原创 2018-12-28 22:59:39 · 547 阅读 · 3 评论 -
用递归函数求n的阶乘
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>int fact(int a){ //如果a等于1,直接输出;如果大于1,连续调用函数求阶乘 int ret = 1; if (a > 1) { ret = a * fact(a...原创 2018-12-28 12:50:17 · 22828 阅读 · 0 评论 -
创建一个数组, 实现函数init()初始化数组, 实现empty()清空数组、,实现reverse()函数完成数组元素的逆置。自己设计函数的参数,返回值。
#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>void init(int arr[], int len){ for (int i = 0; i < len; ++i) { arr[i] = i; } } //这个函数是为...原创 2018-12-10 22:05:17 · 229 阅读 · 0 评论 -
//不用递归求n的阶乘
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>int main(){ int n; int i = 1; int sum = 1; printf("请输入要求的阶乘数:\n"); scanf("%d", &n); for (i = 1; i <= n;...原创 2018-12-26 20:05:12 · 749 阅读 · 0 评论 -
递归方式实现打印用户输入整数的每一位
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>void stamp(int a){ if (a > 9) //如果a>9,就不会是一位数 { stamp( a / 10); //循环递归 } printf("%d ", a%10); //...原创 2018-12-26 19:53:45 · 135 阅读 · 0 评论 -
实现一个函数判断year是不是闰年。
#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>int Isleap(int a) //建立一个函数,如果是闰年就返回1,不是就返回-1{ if (a % 4 != 0) return -1; else if (a % 100 != 0) return ...原创 2018-12-09 15:14:31 · 551 阅读 · 0 评论 -
编写一个函数实现n^k,使用递归实现
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>int pow(int k){ int a = 5; if (k == 1) { return a; } return a * pow(k - 1);}int main(){ int k; printf("请输...原创 2018-12-29 21:08:12 · 148 阅读 · 0 评论 -
编写一个函数 reverse_string(char * string)(递归实现),将参数字符串中的字符反向排列。 要求不能使用C函数库中的字符串操作函数
#include<stdio.h>#include<stdlib.h>int str(char *string){ int n = 0; while (*string) { n++; string++; } return n;}void reverse(char *string){ int len = str(string); if (*...原创 2018-12-29 21:32:05 · 179 阅读 · 0 评论 -
递归和非递归分别实现strlen
#include <stdio.h>#include <assert.h>int Mystrlen(const char *str){ if (*str) { return 1 + Mystrlen(str + 1); } else { return 0; }}int main(){ char str[] = "abcefg"; int...原创 2018-12-29 21:48:10 · 71 阅读 · 0 评论 -
盈利问题
某工业生产部门根据国家计划的安排,将某种高效的5台机器,分配给所属的3个工厂A,B,C ,问这5台机器如何分配才能使收益最大#include<stdio.h>#include<stdlib.h>int main() { int A[6] = { 0,3,7,9,12,13 }; int B[6] = { 0,5,10,11,11,11 }; int C[6...原创 2019-04-09 18:14:33 · 1115 阅读 · 0 评论 -
在m*n个方格中求走的路径的最大值
在n*m个方格中,m为奇数,放置有n*m个数,方格中间的下方有一人,此人可按照五个方向前进但不能越出方格。要求找到一条从低到顶的路径,使其基数相加和最大。#include<stdio.h>#include<stdlib.h>int main(void){ int a[6][7] = { { 16,4,3,12,6,0,3 }, { 4,-5,6,7,0...原创 2019-04-09 17:55:41 · 3271 阅读 · 0 评论 -
最佳旅游路线
问题:某旅游景区的街道成网格状。其中东西向德街道都是旅游街,南北向的街道都是林荫道。由于游客众多,旅游街规定为单行道,游客在旅游街上只能从西向东走,在林荫道上则既可从南向北,又可从北向南走。阿隆想到这个旅游街区游玩。他的好友阿福给了他一些建议,用分值表示所有旅游街相邻两个路口之间的街道值得游览程度,分值是从-100到100的整数,所有林荫道不打分。所有分值不能全是负分。如下图,是被打过分的...原创 2019-04-08 21:18:02 · 539 阅读 · 0 评论 -
实现strcpy,strcat, strstr,
#include <stdio.h>#include <stdlib.h>#include <string.h>int main() { char str[] = "hello!"; char str2[20] = { 0 }; int len = 0; len = strlen(strcpy(str2, str)); printf("str ...原创 2019-04-27 21:36:44 · 81 阅读 · 0 评论 -
求平均值的几种方法
第一种:float num =(a+b)/ 2.0,会存在溢出现象。第二种:float num = a+(b-a)/ 2.0。第三种:float num = a&b+((a^b)>>1),直接操作bite位,效率更高。 a&b:相当于同一个bite位上相同的平均值,相同的平均值即为自身。a^b:相当于同一个bite位上不相同的数之和。>>...原创 2019-01-09 11:45:18 · 6361 阅读 · 0 评论 -
扫雷游戏
void init_board(char mine[ROWS][COLS], int row, int col);//声明初始化棋盘函数,在game.c实现void set_mine(char mine[ROWS][COLS]); //声明布雷函数void display(char mine[ROWS][COLS], int row, int col);//声明打印棋盘函数int get_m...翻译 2019-01-05 21:53:19 · 120 阅读 · 0 评论 -
小老鼠走迷宫
程序用C语言编写,在Visual Studio中调试。要求在规定时间内完成游戏小鼠走迷宫,找到粮食,小鼠形象可辨认,可以在迷宫中上下左右移动,可以手动生成迷宫,编辑迷宫,并实现墙变路、路变墙、显示所有路径、显示最短路径。输入的形式:通过输入字符“w 、s 、 a、 d”来控制小鼠的上下左右移动,“0、1、2、3”代表通路、老鼠、墙、粮。0~7共八个操作编号。输出的形式:符号 “▉” 和 “の”...翻译 2019-01-04 15:50:01 · 2059 阅读 · 2 评论 -
使用函数实现两个数的交换。
#include <stdio.h>#include <stdlib.h>int exchange(int* x, int* y) //定义一个函数,交换a与b的值{ int temp = 0; temp = *x; *x = *y; *y = temp; return 0;}void main(){ int a = 10; int b = 2...原创 2018-12-09 14:53:58 · 1144 阅读 · 0 评论 -
实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定, 输入9,输出9*9口诀表,输入12,输出12*12的乘法口诀表。
#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>int main(){ int n = 0; printf("请输入一个数:"); scanf("%d", &n); for (int i = 1; i <= n; ++i) { for ...原创 2018-12-09 14:43:54 · 331 阅读 · 0 评论 -
编写程序数一下1到100的所有整数中出现多少次数字9
#include <stdio.h>#include <stdlib.h>void main(){ int i, count=0; for (i=1;i<=100;i++) { if (i%10==9||i/10==9) count += 1; } printf("%d\n",count); system("pause");}原创 2018-12-02 20:26:44 · 101 阅读 · 0 评论 -
计算1/1-1/2+1/3-1/4+1/5······+1/99-1/100的值
#include <stdio.h>#include <stdlib.h>void main(){ int i, n; double num = 0.0, sum = 0.0; for (i = 1; i <= 100;i++ ) { if (i%2==0) n = -1; else n = 1; num = n*1.0...原创 2018-12-02 19:39:35 · 453 阅读 · 0 评论 -
将数组a的内容和数组b的内容进行交换
#include <stdio.h>#include <stdlib.h>void main(){ int a[5] = { 1,2,3,4,5 }; int b[5] = { 5,6,7,8,9 }; int c[5],i; printf("数组a为%d,%d,%d,%d,%d\n", a[0], a[1], a[2], a[3], a[4]); pri...原创 2018-12-02 19:01:04 · 465 阅读 · 1 评论 -
不允许创建临时变量,交换两个数值
#include <stdio.h>#include<stdlib.h>void main(){ int a = 1; int b = 2; printf("a=%d,b=%d\n", a, b); a = a + b; b = a - b; //此时b中放着a的值 a = a - b; printf("a=%d,b=%d\n"...原创 2018-11-29 18:25:15 · 184 阅读 · 0 评论 -
求两个数最大公约数
#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include<stdlib.h>void main(){ int a,b,i; printf("请输入2个整数\n"); scanf("%d%d", &a,&b); int c = a; //将a放入变量c中 if (b < c...原创 2018-11-29 18:09:31 · 165 阅读 · 0 评论 -
将三个数从大到小输出
#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include<stdlib.h>void main(){ int a,b,c,num; printf("请输入3个整数\n"); scanf("%d%d%d", &a,&b,&c); if (a < b) { num =...原创 2018-11-29 17:47:59 · 239 阅读 · 0 评论 -
求10个整数中的最大值
#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include<stdlib.h>void main(){ int a[10],max,i,j; for (i=1;i<=10;i++) { printf("请输入%d个整数:\n",i); scanf("%d", &a[i]); }...原创 2018-11-29 10:51:54 · 419 阅读 · 0 评论 -
打印100~200之间的素数
#include <stdio.h>#include <stdlib.h>#include<math.h>int main(){ int i,j,t; for(i=101;i<=200;i+=2) { t = sqrt(i); //对i开平方根 for (j = 2; j <=...原创 2018-11-27 22:52:39 · 339 阅读 · 0 评论 -
输出乘法口诀表
#include<stdlib.h>void main(){ int i, j, num; for (i = 1; i < 10; i++) { for (j = 1; j < 10; j++) { num = i*j; printf("%d\t", num); } printf("\n"); } system("pause");...原创 2018-11-28 16:26:18 · 166 阅读 · 0 评论 -
在整型有序的数组中查找一个数字的下标
#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){ char a[] = { 1,2,3,4,5,6,7,8,9,10 }; int to_find = 6; //to_find是需要寻找的数字 int n = sizeof(a...原创 2018-12-07 11:16:45 · 669 阅读 · 0 评论 -
猜数字游戏
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include <time.h>int Menu(){printf("*********************\n");printf("1.开始游戏\n");printf("2.结束游戏\n");printf..原创 2018-12-06 17:12:28 · 147 阅读 · 0 评论 -
打印下图图形
#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>void main(){ int i, j, n; printf("请输入一个数字"); scanf("%d", &n); //根据用户输入的n确定你所需的图形大小 for (i = 1; i <= n;...原创 2018-12-03 20:35:48 · 244 阅读 · 0 评论 -
.求出0~999之间的所有“水仙花数”并输出。
求出0~999之间的所有“水仙花数”并输出。“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;153=1+5+3?,则153是一个“水仙花数”。/*在数论中,水仙花数(Narcissi#include <stdio.h>#include <stdlib.h>#include<math.h>void main(){ int ...原创 2018-12-05 20:26:54 · 220 阅读 · 0 评论 -
.编写一个程序,可以一直接收键盘字符, 如果是小写字符就输出对应的大写字符, 如果接收的是大写字符,就输出对应的小写字符, 如果是数字不输出。
#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include<stdlib.h>int main(){ int i = 0; printf("请输入一个数字:"); scanf("%d", &i); if (i >= 65 && i <= 90) printf(&原创 2018-12-08 18:03:44 · 156 阅读 · 0 评论 -
编写代码模拟三次密码输入的场景。
最多能输入三次密码,密码正确,提示“登录成功”,密码错误,可以重新输入,最多输入三次。三次均错,则提示退出程序。#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>int main(){ int num1; int num2 = 123456; //这是自定义的一个...原创 2018-12-08 17:38:56 · 351 阅读 · 0 评论 -
求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和(a是一个数字)
#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>void main(){ int a, i; int b = 0; int Sn = 0; //用来放每次累加的数值 printf("请输入一个数(1-9):"); scanf("%d", &a); ...原创 2018-12-05 17:01:24 · 174 阅读 · 0 评论 -
判断1000—2000年之间的闰年
#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include<stdlib.h>void main(){ int a; printf("请输入一个数字(1000-2000)"); scanf("%d",&a); if (a%4!=0) { printf("不是闰年"); } else...原创 2018-11-28 17:26:51 · 230 阅读 · 0 评论 -
给定两个整型变量的值,将两个值的内容进行交换
#include <stdio.h>#include<stdlib.h>void main(){ int num; int a = 10; int b = 20; num = a; a = b; b = num; printf("a=%d\n", a); printf("b=%d\n", b); system("pause");}原创 2018-11-28 21:15:13 · 118 阅读 · 0 评论