c语言

C语言寒假大作战03

随声附和 提交于 2020-02-08 12:06:04
2.2.1作业头 问题 答案 这个作业属于哪个课程 2019级计算机1班 (中南林业科技大学涉外学院) 这个作业要求在哪里 C语言寒假大作战03 这个作业目标是 会产生随机数,会使用rand()函数解决问题 作业正文 下文所示 参考文献 随机数rand , 百度 2.2.2 设计思路和遇到的问题 看到要随机数,就学习了rand函数的用法,进去后有一个 C标准库—<stdio.h> ,进行学习,所以想到用这个函数和rand函数,然后符号随机,就想到ASCII码,之后就想到if语句循环,但是还是没有解决问题,之后问同学用goto语句,就去网上查找资料进行学习 goto语句 ,再进行加减乘除的ASCII码查询,主要是三年级比较复杂,要分几种情况,一开始忘记了 '/' 除号后面不能为0,导致错误。 遇到的问题:一开始不知道用什么语句进行循环,后面询问同学知道了goto语句。 2.2.3 程序结果截图 2.2.4 程序代码 2.2.5 Gitee上传截图与链接 https://gitee.com/cao_green_tao 来源: https://www.cnblogs.com/caolvtao/p/12268890.html

C语言寒假大作战02

99封情书 提交于 2020-02-08 11:52:43
格式 表格 问题 答案 这个作业属于那个课程 https://edu.cnblogs.com/campus/zswxy/CST2019-2 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/10261 我在这个课程的目标是 使用函数、Switch语句来完成菜单程序 作业正文 https://i-beta.cnblogs.com/posts/edit 参考文献 C语言编程:以实例教你如何在控制台程序中模拟一个选项菜单功 2.1.1内容 使用函数、switch语句来完成菜单程序。 2.2.2 设计思路和遇到的问题 (1).设计思路 首先是要设计一个口算生成器,针对的内容是一,二,三年级,就会想到会运用switch函数进行选择,其中会有很多种选择,因此会有case。作业上有提示会用到menu(),help(),error()函数。 (2).遇到的问题 就是写程序的时候思路有点不清晰,然后看了同学的代码,参照着写,发现其实挺容易的,就是输入输出步骤有点问题。 2.2.3 程序结果截图 2.2.4 程序代码 1.1.1数据处理 #include<stdio.h> int help(int opt) { printf("欢迎使用口复生成器:\n \n hn帮助信息\您需要输入命令代号来进行操作,且\n");

C语言循环知识

拜拜、爱过 提交于 2020-02-08 10:22:30
循环预览 循环:入口条件循环(while\for):就是判断条件在循环入口处。先判断,后执行。 退出条件循环(do while)就是判断条件在循环尾处。其首先会执行一次循环体,然后判断。 使用风格:在循环涉及到初期化和更新变量时,使用for恰当。其他条件下while较好。就如while(scanf("%d",&a)==1)这样的,就会使用while比较自然;而涉及到索引计数的循环,如for(a=1;a<=12;a++),使用for比较自然。 while循环 例子 例子 : //计算多个鞋码对应的英寸尺长 #include<stdio.h> #define ADJUST 7.64 #define SCALE 0.325 int main(void) { double shoe,foot; printf(“Shoe size(men’s) foot length\n”); shoe = 3.0; while(shoe<18.5) //while循环 { //代码块 foot = SCALE*shoe+ADJUST; printf("%10.1f %15.2f inches\n",shoe,foot); shoe = shoe +1; } printf(“If the shoe fits,wear it.\n”); getchar(); return 0; } //对用户输入的整数求和

基础训练—矩阵乘法C语言 & C++ & JAVA(给定一个N阶矩阵A,输出A的M次幂(M是非负整数) 例如:A = 1 2 3 4 A的2次幂  7 10  15 22 输入格式   第一)

吃可爱长大的小学妹 提交于 2020-02-08 09:12:19
问题描述 矩阵乘法 给定一个N阶矩阵A,输出A的M次幂(M是非负整数)   例如:   A =   1 2   3 4   A的2次幂   7 10   15 22 输入格式   第一行是一个正整数N、M(1<=N<=30, 0<=M<=5),表示矩阵A的阶数和要求的幂数   接下来N行,每行N个绝对值不超过10的非负整数,描述矩阵A的值 输出格式   输出共N行,每行N个整数,表示A的M次幂所对应的矩阵。相邻的数之间用一个空格隔开 样例输入 2 2 1 2 3 4 样例输出 7 10 15 22 直接代码呈上:C语言 //注释里面有解释 # include <stdio.h> # include <string.h> # define N 100 int A [ N ] [ N ] , t [ N ] [ N ] , r [ N ] [ N ] ; int main ( ) { int n , m , i , j , k ; scanf ( "%d%d" , & n , & m ) ; //输入矩阵的阶数和幂次数 for ( i = 0 ; i < n ; i ++ ) for ( j = 0 ; j < n ; j ++ ) scanf ( "%d" , & A [ i ] [ j ] ) ; //输入矩阵 for ( i = 0 ; i < n ; i ++ ) r [ i

csp练题记录(C语言,编译器dev c++)201912-2回收站选址

ぃ、小莉子 提交于 2020-02-08 06:29:37
csp练题记录(C语言,编译器dev c++)201912-2回收站选址 文章目录 一、题目描述 二、思路分析 三、代码 四、反思总结 一、题目描述 二、思路分析 解这道题我觉得需要以下两个步骤:1、找出所有的备选地址,用sel[]数组来标识是否是备选地址(在初始代码中);2、对所有备选地址进行评分。 其中,备选地址要具备:它上、下、左,右四邻位都有垃圾;对它评分时,就是看它左上、左下、右上,右下四个对角线元素的有垃圾的个数,分值0~5分。 开始的时候,怎么存储坐标信息让我感觉一筹莫展:想用链表来存储,每一个节点存储了它的上下左右四邻位的信息,这样遍历一遍就可以得到所有的备选地址,但这样带来了一个新的问题:评分时考虑的是它对角线上的,就很麻烦,水平不够,自然是整得越简单越好,于是干脆设置一个二维数组,简单直接。 初始的代码能跑,但很粗糙、暴力:对每一个坐标都完整遍历一遍数组,这样找出它上下左右四邻位共有几处有垃圾,当计数值count为4时,说明它是备选位置。参阅博客和咨询dalao后有了改进思路。 第一次优化思路 邻位的两个元素是相互的,你是我的左,那么相对的,你就是我的右。同理,上下也有一样的性质,也就是说,不必像初始代码中那样每次都完整遍历一遍。因此找备选地址时,就有以下的思路: (个人感觉有点像递归)遍历到第i个元素时,由于邻位的概念如上是相互的

PTA L1-039 古风排版 C语言版

萝らか妹 提交于 2020-02-08 05:01:58
中国的古人写文字,是从右向左竖向排版的。本题就请你编写程序,把一段文字按古风排版。 输入格式: 输入在第一行给出一个正整数N(<100),是每一列的字符数。第二行给出一个长度不超过1000的非空字符串,以回车结束。 输出格式: 按古风格式排版给定的字符串,每列N个字符(除了最后一列可能不足N个)。 输入样例: 4 This is a test case 输出样例: asa T st ih e tsi ce s 代码: # include <stdio.h> # include <string.h> int main ( ) { int n , i , j , z = 0 , k ; //k为列数 char s [ 1001 ] , num [ 100 ] [ 100 ] ; scanf ( "%d" , & n ) ; getchar ( ) ; gets ( s ) ; int m = strlen ( s ) ; if ( m % n == 0 ) k = m / n ; else k = m / n + 1 ; for ( i = k - 1 ; i >= 0 ; i -- ) { for ( j = 0 ; j < n ; j ++ ) { //最后一列不足n个时要输出空格,否则会WA if ( z >= m ) num [ j ] [ i ] = ' ' ; else

leetcode 17 电话号码 C语言实现

北慕城南 提交于 2020-02-08 03:40:45
测评 题目 leetcode 17 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例: 输入:“23” 输出:[“ad”, “ae”, “af”, “bd”, “be”, “bf”, “cd”, “ce”, “cf”]. 说明: 尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。 void dfs ( char * digits , char * str , int ind , char letter [ ] [ 5 ] , char * * res , int * returnSize ) { if ( digits [ ind ] == '\0' ) { str [ ind ] = '\0' ; strcpy ( res [ * returnSize ] , str ) ; ( * returnSize ) ++ ; //谨记*的符号低于++,记得加括号 return ; } int d = digits [ ind ] - '0' , i = 0 ; while ( letter [ d ] [ i ] != '\0' ) { str [ ind ] = letter [ d ] [ i ] ; dfs ( digits , str , ind + 1 ,

C语言寒假大作战02

℡╲_俬逩灬. 提交于 2020-02-08 02:58:45
二、本周作业头 这个作业属于那个课程 寒假作业 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/10261 这个作业的目标是 编写简单的菜单程序 这个作业正文 https://i-beta.cnblogs.com/posts/edit 参考文献 百度、《C Prime Plus》 1. 设计思路和遇到的问题 菜单程序函数调用图: 遇到的问题 写代码的时候,写switch语句时,不记得用while语句循环使用,然后没写出来,后来看了一下别人的代码,知道自己的出错,然后上传到仓库时,我竟然不知到怎么上传了,然后使用了上传文件 2. 程序结果截图: 3. 程序代码: #include<stdio.h> void help(){ printf("帮助信息:\n您需要输入命令代号来进行操作,且\n一年级题目为不超过十位的加减法;\n二年级题目为不超过百位的乘除法;\n三年级题目为不超过百位的加减乘除混合题目.\n\n"); } void menu(){ printf("操作列表:\n1)一年级 2)二年级 3)三年级\n4)帮助 5)退出程序\n请输入操作>"); } void Grade1(){ printf("现在是一年级题目:\n"); } void Grade2(){ printf("现在是二年级题目

C语言寒假大作战02

喜欢而已 提交于 2020-02-08 02:30:04
这个作业属于哪个课程 班级链接 这个作业要求在哪里 作业链接 这个作业的目标 使用函数、Switch语句来完成菜单程序 作业正文 此篇博客 其他参考文献 文章链接 作业内容 1.设计思路和遇到的问题 设计思路: 1.首先写出程序名与欢迎词。 2.使用while语句控制什么时候终止程序,什么时候继续输入;同时输入操作列表。 3.使用switch语句根据使用者输入的情况来输出不同的结果。 遇到的困难: 1.一开始没有使用while语句,导致程序进行一次就终止了。 2.有些符号老是忘记写上导致编译错误。 2.程序结果截图 3. 程序代码 #include <stdio.h> int main () { printf("====口算生成器====\n"); printf ("欢迎使用口算生成器:\n"); int n=-1; while (n!=0) { printf(" \n"); printf("操作列表:\n"); printf("1>一年级 2>二年级 3>三年级\n"); printf("4>帮助 5>退出\n"); printf("请选择:\n"); scanf ("%d", &n); switch (n) { case 1: printf ("这是一年级的题目:\n"); printf ("执行完了\n"); break; case 2: printf ("这是二年级的题目:

leetcode 39. 组合总和 C语言

荒凉一梦 提交于 2020-02-08 02:25:04
给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的数字可以无限制重复被选取。 说明: 所有数字(包括 target)都是正整数。 解集不能包含重复的组合。 示例 1: 输入: candidates = [2,3,6,7], target = 7, 所求解集为: [ [7], [2,2,3] ] 示例 2: 输入: candidates = [2,3,5], target = 8, 所求解集为: [ [2,2,2,2], [2,3,3], [3,5] ] /** * Return an array of arrays of size *returnSize. * The sizes of the arrays are returned as *returnColumnSizes array. * Note: Both returned array and *columnSizes array must be malloced, assume caller calls free(). */ int cmpfunc(const void *a, const void *b) { return *(int*)a - *(int*)b; } void