
C/C++
文章平均质量分 91
yummy说电子
我开通公众号了,yummy说电子,以后多数的创作会在公众号更新,写的会更加随意逗比一点,看看能不能靠流量挣个奶茶钱,欢迎关注,ღ( ´・ᴗ・` )比心
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C语言课程设计-基于EasyX的飞机大战游戏
EasyX是基于C++的图形库,使用EasyX学习C语言,可以摆脱黑洞洞的控制台,快速做出有意思的项目。编程是有趣的,但是传统的C语言教学,教学的目的却是考试与刷题。于是我写了一个飞机大战的游戏,可以作为C语言的课程设计。完整的代码接近1000行,编写的过程也比较复杂。我带过一些学生的实训课,授课过程录屏了,放在B站上了。如果列位看官老爷感兴趣,再考虑下整理文档教程吧。 C课程设计-基于EasyX的飞机大战游戏原创 2021-12-30 22:49:11 · 9757 阅读 · 1 评论 -
1020. 月饼 (25)
月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有3种月饼,其库存量分别为18、15、10万吨,总售价分别为75、72、45亿元。如果市场的最大需求量只有20万吨,那么我们最大收益策略应该是卖出全部15万吨第2种月饼、以及原创 2016-11-09 09:30:39 · 996 阅读 · 0 评论 -
1021. 个位数统计 (15)
给定一个k位整数N = dk-1*10k-1 + … + d1*101 + d0 (0<=di<=9, i=0,…,k-1, dk-1>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定N = 100311,则有2个0,3个1,和1个3。输入格式:每个输入包含1个测试用例,即一个不超过1000位的正整数N。输出格式:对N中每一种不同的个位数字,以D:M的格式在一行中输出该位数字D及其在N中原创 2016-11-16 09:58:31 · 1053 阅读 · 0 评论 -
1022. D进制的A+B (20)
输入两个非负10进制整数A和B(<=230-1),输出A+B的D (1 < D <= 10)进制数。输入格式:输入在一行中依次给出3个整数A、B和D。输出格式:输出A+B的D进制数。输入样例: 123 456 8 输出样例: 1103//此题应注意a+b=0的情况,否则有测试点过不去//10进制转为d进制,可以用10除以d,把商作为结果继续除以d直到为0,每一步的余数作为结果倒序抄下来#i原创 2016-11-16 10:00:54 · 456 阅读 · 0 评论 -
1023. 组个最小数 (20)
给定数字0-9各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意0不能做首位)。例如:给定两个0,两个1,三个5,一个8,我们得到的最小的数就是10015558。现给定数字,请编写程序输出能够组成的最小的数。输入格式:每个输入包含1个测试用例。每个测试用例在一行中给出10个非负整数,顺序表示我们拥有数字0、数字1、……数字9的个数。整数间用一个空格分隔。10原创 2016-11-16 10:02:23 · 627 阅读 · 0 评论 -
1017. A除以B (20)
本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数。你需要输出商数Q和余数R,使得A = B * Q + R成立。输入格式:输入在1行中依次给出A和B,中间以1空格分隔。输出格式:在1行中依次输出Q和R,中间以1空格分隔。输入样例: 123456789050987654321 7 输出样例: 17636684150141093474 3#include <iostream>原创 2016-11-02 10:13:34 · 497 阅读 · 0 评论 -
2-2数组元素循环右移问题
【题目】有一个整数数组,现要求实现这个整数数组的循环右移。如:1,2,3,4,5 则循环右移两位后结果是:4,5,1,2,3。//这个做法主要是执行3次倒序,相比于执行N次M个数右移一位效率高一点点,但是也不是最好的做法。相对好理解一点。#include <stdio.h>#include <stdlib.h>#define swap(a,b) a^=b,b^=a,a^=bvoid Right原创 2016-12-05 10:26:18 · 1001 阅读 · 0 评论 -
C语言如何输出回车换行
1 使用字符串,输出在一个字符串结尾加上“\r\n”,如“hello\r\n”; 2 使用字符数组拼接成字符串(在嵌入式c的使用中是常见的),在数组末尾增加0x0d和0x0a; 如unsigned char data[8] data[0] = ‘h’; data[1] = ‘e’; data[2] = ‘l’; data[3] = ‘l’; data[4] = ‘0’; data[5原创 2016-11-24 10:48:29 · 40611 阅读 · 0 评论 -
*p++的优先级和使用
*p++等价于*(p++),p肯定是个指针,这句话的意思是先取出*p的值,然后让指针指向下一个数据。(*p)++的意思是先把*p的值取出来,然后把*p的值++。使用中要注意到右++是先使用后++,所以可能会造成一些误解。下面举一个例子。#include <stdio.h>#include <stdlib.h>int main(){ int arrp[2] = {1,3}; in原创 2017-06-22 14:53:07 · 3426 阅读 · 1 评论 -
1019. 数字黑洞 (20)
给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的6174,这个神奇的数字也叫Kaprekar常数。例如,我们从6767开始,将得到7766 - 6677 = 1089 9810 - 0189 = 9621 9621 - 1269 = 8352 8532原创 2016-11-09 09:18:18 · 326 阅读 · 0 评论 -
1016. 部分A+B (15)
正整数A的“DA(为1位整数)部分”定义为由A中所有DA组成的新整数PA。例如:给定A = 3862767,DA = 6,则A的“6部分”PA是66,因为A中有2个6。现给定A、DA、B、DB,请编写程序计算PA + PB。输入格式:输入在一行中依次给出A、DA、B、DB,中间以空格分隔,其中0 < A, B < 1010。输出格式:在一行中输出PA + PB的值。输入样例1: 3862767 6原创 2016-10-25 23:15:13 · 308 阅读 · 0 评论 -
1013. 数素数 (20) C++
令Pi表示第i个素数。现任给两个正整数M <= N <= 104,请输出PM到PN的所有素数。输入格式:输入在一行中给出M和N,其间以空格分隔。输出格式:输出从PM到PN的所有素数,每10个数字占1行,其间以空格分隔,但行末不得有多余空格。输入样例: 5 27 输出样例: 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89原创 2016-10-25 22:36:46 · 959 阅读 · 0 评论 -
C语言结构体(struct)常见使用方法
今天复习一下struct,顺便挖掘一下以前没注意的小细节:基本定义:结构体,通俗讲就像是打包封装,把一些变量有共同特征(比如同属于某一类事物的属性)的变量封装在内部,通过一定方法访问修改内部变量。结构体定义:第一种:只有结构体定义[cpp] view plaincopys转载 2015-03-18 10:26:12 · 1177 阅读 · 0 评论 -
C语言中一个strcmp和==的比较问题
在问答上看到一个问题,本着赚金币的态度就回答了一下。话说遇到我这样的小白会的问题的几率真心不大,赶紧答一个。 C++中strcmp和 ==的比较问题 c++strcmp char *str1 = “hello”; char str2[] = “hello”; if (str1 == “hello”) printf(“ok1\n”); if原创 2015-04-20 16:55:25 · 5033 阅读 · 1 评论 -
C语言将16进制的数转换为字符串的方法
将16进制的数据改为字符串,也就是0xAB,改成“AB”。。。虽然看上去没什么用。原创 2016-05-10 18:25:29 · 37794 阅读 · 2 评论 -
C语言将16进制的数转换为字符串的方法(改进)
C语言中的char是一字节,也就是8个二进制位,正好可以表示成2个16进制的数。本文介绍了将无符号的char转为字符的方法。原创 2016-05-11 10:53:52 · 31522 阅读 · 3 评论 -
1005. 继续(3n+1)猜想 (25)
PAT1005原创 2016-09-02 16:56:36 · 561 阅读 · 0 评论 -
C++PAT练习1001
1001. 害死人不偿命的(3n+1)猜想 (15) 卡拉兹(Callatz)猜想:对任何一个自然数n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把(3n+1)砍掉一半。这样一直反复砍下去,最后一定在某一步得到n=1。卡拉兹在1950年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证(3n+1),原创 2016-08-24 21:24:34 · 997 阅读 · 0 评论 -
C++PAT1002练习
本例用到了以下知识: 字符串拆成char,再计算,然后使用把int拆开,装在vector倒序输出。 1002 写出这个数 读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。输入样例: 1原创 2016-08-25 14:02:42 · 932 阅读 · 0 评论 -
1018. 锤子剪刀布 (20)
大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示:现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。输入格式:输入第1行给出正整数N(<=105),即双方交锋的次数。随后N行,每行给出一次交锋的信息,即甲、乙双方同时给出的的手势。C代表“锤子”、J代表“剪刀”、B代表“布”,第1个字母代表甲方,第2个代表乙方,中间有1个空格。输出格式:输出原创 2016-11-03 23:04:34 · 425 阅读 · 0 评论 -
一个C语言的剪刀石头布小游戏
/******************************************************石头剪刀布的程序源程序是从开源中国看到的,地址为http://www.oschina.net/code/snippet_1448389_46137geek_monkey于2015年3月3日修改了bug(输入字符非石头剪刀布都算是玩家赢)编译环境为VC++6.0增加“原创 2015-03-04 09:15:29 · 3436 阅读 · 1 评论