![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c语言
用bug解决bug
从零基础学习编程,大家一起进步
展开
-
一道紧跟时事的编程题
某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。以下为4个嫌疑犯的供词:A说:不是我。B说:是C。C说:是D。D说:C在胡说已知3个人说了真话,1个人说的是假话。现在请根据这些信息,写一个程序来确定到底谁是凶手。 如果说真话表示为1即真,说假话表示为0即假,那么A+B+C+D==3;所以运行结果如下...原创 2022-07-11 15:17:32 · 93 阅读 · 0 评论 -
用c语言写一个扫雷游戏
//game.h头文件#pragma once#include <stdio.h>#include <time.h>#include <stdlib.h>#define ROW 9#define COL 9#define ROWS ROW+2#define COLS COL+2#define COUNT 10void InitBoard(char board[ROWS][COLS], int rows, int cols,char ch);.原创 2022-05-09 11:31:17 · 107 阅读 · 0 评论 -
序列中删除指定数字
有一个整数序列(可能有重复的整数),现删除指定的某一个整数,输出删除指定数字之后的序列,序列中未被删除数字的前后位置没有发生改变。数据范围:序列长度和序列中的值都满足1 \le n \le 501≤n≤50输入描述:第一行输入一个整数(0≤N≤50)。第二行输入N个整数,输入用空格分隔的N个整数。第三行输入想要进行删除的一个整数。输出描述:输出为一行,删除指定数字之后的序列。示例1输入:61 2 3 4 5 94复制输出:1 2 3 5 9复.原创 2022-05-06 16:41:38 · 208 阅读 · 0 评论 -
用c语言做一个三子棋游戏
test.cgame.cgame.h//test.c#define _CRT_SECURE_NO_WARNINGS#include "game.h"void menu(){ printf("************************************\n"); printf("**************1.play ***************\n"); printf("**************0.exit****************\n"); printf.原创 2022-05-02 20:16:12 · 1516 阅读 · 0 评论 -
c语言:倒置数组
//创建一个整形数组,完成对数组的操作//1.0现函数init() 初始化数组为全0//2.0实现print() 打印数组的每个元素//3.0实现reverse() 函数完成数组元素的逆置。//要求:自己设计以上函数的参数,返回值。#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>//创建一个整形数组,完成对数组的操作//1.0现函数init() 初始化数组为全0//2.0实现print() 打印数组的每个元素//3...原创 2022-04-27 22:56:26 · 1751 阅读 · 0 评论 -
用51单片机做一个定时闹钟
#include<reg52.h>#include<stdlib.h>#include<stdio.h>#include<intrins.h>#define uint unsigned int#define uchar unsigned charuint num,A_num,x=0;uint h,m,s;uint h1=0,m1=0,s1=0,sign=1;uchar code Zifu[]="0123456789";sbit b..原创 2022-04-23 20:06:44 · 2862 阅读 · 0 评论 -
c语言:折半查找算法
比如我买了一双鞋,你好奇问我多少钱,我说不超过300元。你还是好奇,你想知道到底多少,我就让你猜,你会怎么猜?这个时候我们就可以利用折半查找算法,每次猜一个中间数,在判断大了或者小了;然后缩小范围,直到找到为止。代码实现:#include <stdio.h>int main(){ int arr[] = {1,2,3,4,5,6,7,8,9,10}; int left = 0; int right = sizeof(arr)/sizeof(arr[0]原创 2022-04-20 22:26:16 · 745 阅读 · 0 评论 -
用c语言做一个恶搞室友的小程序
当你的室友在写论文或者实验报告的时候,你将这个程序发给他,这将会极大程度的增进室友间的友情的。#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <windows.h>#include <stdlib.h>int main(){ int i= 60; char input[20] = "0"; system("shutdown -s -t 30"); while(1) { pr原创 2022-04-19 13:09:51 · 1493 阅读 · 2 评论 -
c语言:做一个猜数游戏
编写一个程序使之作为猜数游戏#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>#include <time.h>void game(){ int i = 0; int guess = 0; int ret = rand() % 100 + 1; for ( i = 0;i<3;i++) { printf("请猜数字:>"); scanf("%原创 2022-04-17 22:02:59 · 2640 阅读 · 0 评论 -
c语言:做一个密码登录程序
编写代码实现,模拟用户登录情景,并且只能登录三次。(只允许输入三次密码,如果密码正确则提示登陆成功,如果三次均输入错误,则退出程序)。#include <stdio.h>#include <windows.h>#include <string.h>int main(){ int i = 0; //假设密码是字符串 char password[20] = "0"; for (i = 0; i < 3; i++) { printf("原创 2022-04-17 19:18:43 · 11739 阅读 · 1 评论 -
c语言:编写代码在一个整形有序数组中查找具体的某个数要求:找到了就打印数字所在的下标,找不到则输出:找不到。
给定一串数组,我们只需要用二分法来查找这个数;二分法对于查找一个数组中的一个元素具有高效性。如下图所示我们只要找到最左的下标和最右的下标;通过第一次使用二分法,mid就等于(9+0)/2,而arr[mid]<num,便可以将范围缩小到mid+1——right之间,然后重复使用二分法便可以得到这个数的下标了。#include <stdio.h>int main(){ int arr[]={1,2,3,4,5,6,7,8,9,10}; //输入有序数组...原创 2022-04-16 17:01:21 · 1065 阅读 · 0 评论 -
c语言运算符优先级
C语言的运算符包括单目运算符、双目运算符、三目运算符,优先级如下:第1优先级:各种括号,如()、[]等、成员运算符 . ;第2优先级:所有单目运算符,如++、–、!、~等;第3优先级:乘法运算符*、除法运算符/、求余运算符%;第4优先级:加法运算符+、减法运算符-;第5优先级:移位运算符<<、>>;第6优先级:大于运算符>、大于等于运算符>=、小于运算符<、小于等于运算符<=;第7优先级:等于运算符==、不等于运算符!=;第8优先级:按位与运算原创 2022-04-15 22:45:13 · 16688 阅读 · 0 评论 -
c语言每日一练:输出100-200之间的素数
定义质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数(规定1既不是质数也不是合数)。#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>int main(){ int i = 0; int x = 0; for (i = 100; i<= 200; i++) { for (x = 2; x < i; x++) { if (i % x == 0)原创 2022-04-14 21:50:32 · 690 阅读 · 0 评论 -
C语言每日一练:输入两个数,并求它们的最大公约数和最小公倍数
#include <stdio.h>//两数相乘的积除以这两个数的最大公约数就是最小公倍数。int main(){ int num1,num2,m,n,t; printf("请输入两个数: "); scanf("%d,%d",&num1,&num2); if(num1<num2) { t=num1; num1=num2; num2=t; } m=num1*num2;...原创 2022-04-13 23:18:59 · 262 阅读 · 0 评论 -
c语言每日一练:按从大到小的排列顺序输出三个整数
对输入的三个整数进行排序,使之按照一定的顺序输出。这是C语言中典型操作,那么如何实现这个功能呢?写代码将三个整数数按从大到小输出。例如:输入:2 3 1输出:3 2 1我们可以先两两比较,找出较大者再与第三个数比较得出最大者,另外两个数进行比较,找出最小者,最后进行输出,就实现了上述操作。具体如何实现的可以参考以下代码。#include <stdio.h>int main(){ int x = 0; int y = 0; int z = 0;原创 2022-04-12 22:39:38 · 2695 阅读 · 0 评论 -
c语言每日一练:输入字符,做一个字符圣诞树
描述输入一个字符,用它构造一个边长为5的三角形圣诞树数据范围:保证输入的字符是一个 char 类型的值输入描述:输入只有一行,一个字符。输出描述:该字符构成的三角形圣诞树。示例1输入:1复制输出: 1 1 1 1 1 1 1 1 1 11 1 1 1 1#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>int main(){ char ch; int原创 2022-04-10 20:33:22 · 2114 阅读 · 0 评论 -
c语言每日一练:用c语言做一个九九乘法表
在初学C语言中,我们会遇到很多九九乘法表的问题,在这我们进行一系列的分析。九九乘法表的格式是x*x=x的格式。接下来,我们要做的是利用循环结构,使得数量发生变化。在最后,要对乘法表的形状进行限定。首先我们先进行,对 两个乘数进行循环。然后求积,最后输出,我们要打印传统的乘法表,那么我们就要对每一行进行切行,并且对所循环的进行限定。代码如下:#include <stdio.h>int main(){ int x = 0; int y = 0; for (y = 1; .原创 2022-04-09 18:16:49 · 690 阅读 · 0 评论 -
c语言每日一练:判断是不是闰年
闰年的解释:凡阳历中有闰日(2月29日)的年份,闰余(岁余置闰。阴历每年与回归年相比所差的时日)。1582年以来的置闰规则:普通闰年:公历年份是4的倍数,且不是100的倍数的,为闰年(如2004年、2020年等就是闰年)。世纪闰年:公历年份是整百数的,必须是400的倍数才是闰年(如1900年不是闰年,2000年是闰年)。1582年以前的惯例:四年一闰;如果公元A年的A(正数)能被4整除,那么它就是闰年;如果公元前B年的B(正数)除以4余1,那么它也是闰年。#include <st原创 2022-04-08 22:00:54 · 408 阅读 · 0 评论 -
c语言:输入字符串,并判断字符串的长度
c语言中表示输入数据的类型,其格式符和意义下表所示。格式 字符意义d 输入十进制整数o 输入八进制整数x 输入十六进制整数u 输入无符号十进制整数f或e 输入实型数(用小数形式或指数形式)c 输入单个字符s 输入字符串转义字符转义字符是一种特殊的字符常量。转义字符以反斜线”\”开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符。例如,在前面各例题printf函数的格式串中用到的“\n”就是一个转义字符,其意义是“回车换行”。转义字符主要用来表示那些用原创 2022-04-07 19:14:04 · 13222 阅读 · 3 评论 -
c语言:进行成绩统计
描述输入n科成绩(浮点数表示),统计其中的最高分,最低分以及平均分数据范围:1 \le n \le 100 \1≤n≤100 , 成绩使用百分制且不可能出现负数输入描述:两行,第1行,正整数n(1≤n≤100)第2行,n科成绩(范围0.0~100.0),用空格分隔。输出描述:输出一行,三个浮点数,分别表示,最高分,最低分以及平均分(小数点后保留2位),用空格分隔。示例1输入:599.5 100.0 22.0 60.0 88.5复制输出:100.00 22原创 2022-04-06 14:43:52 · 995 阅读 · 0 评论 -
C语言:判断输入的整数是不是完数
完数的含义:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如 6=1+2+3,编程判断一个整数是不是完数。#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>int main(void){ int i, j, sum; // i 是要判断的数, j 是因子, sum 是因子之和 scanf("%d", &i); sum = 1; for (j = 2; j <= i / 2; j++) //原创 2022-04-05 12:18:13 · 4578 阅读 · 0 评论 -
C语言:如何判断回文数
所谓回文数,就是说一个数字从左边读和从右边读的结果是一模一样的,例如12321。判断给出的整数是否是回文数;若是,则输出该整数各位数字之和;否则输出该数不是一个回文数。原理大致为:任何一个数除以10的余数就是该数最后一位;任何一个数除以10的商就是排除掉最后一位后的数;所以 ,一个数1234 就可以通过这种方法得到 123 和 4;接下来对 123 进行同样的操作,就得到 12 和 3;接下来得到 1 和 2;接着得到 0 和 1;整个过程是个循环,当商不是 0 的时候就一直如此;每次拿到一个余数,..原创 2022-04-04 15:32:12 · 8519 阅读 · 1 评论 -
C语言:输入一个整数,判断整数有几位
这道题的思路在于,如果想要判断一个整数的位数,那么就必须要用循环语句一位一位的计算,当x大于0时,进入循环。x除以10取整,如果x取整之后大于0,说明x不止一位,那么继续进行循环,循环一次i+1,直到x=0时,说明已经除到最高位了,那么我们就可以退出循环,输出次数i了。#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>int main(){ int x = 0; int i = 0; scanf("%d", &a...原创 2022-04-03 20:12:05 · 17961 阅读 · 5 评论