c语言程序设计

C语言程序设计进阶-第4周编程题(链表)

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-17 05:32:26
1 逆序输出(10分) 题目内容: 你的程序会读入一系列的正整数,预先不知道正整数的数量,一旦读到-1,就表示输入结束。然后,按照和输入相反的顺序输出所读到的数字,不包括最后标识结束的-1。 输入格式: 一系列正整数,输入-1表示结束,-1不是输入的数据的一部分。 输出格式: 按照与输入相反的顺序输出所有的整数,每个整数后面跟一个空格以与后面的整数区分,最后的整数后面也有空格。 输入样例: 1 2 3 4 -1 输出样例: 4 3 2 1 时间限制:500ms内存限制:32000kb # include <stdio.h> # include <stdlib.h> typedef struct node { int value ; struct node * next ; struct node * pre ; } Node ; typedef struct _list { Node * head ; Node * tail ; } List ; void add ( List * pList , int number ) ; void print ( List * pList ) ; void reprint ( List * pList ) ; int main ( int argc , char const * argv [ ] ) { List list ; list .

C语言I博客作业10

妖精的绣舞 提交于 2019-12-16 23:56:05
这个作业属于哪个课程? C语言程序设计II 这个作业要求在哪里? https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/10096 我在这个课程的目标是 计算机中级执照 这个作业在哪个具体方面帮助我实现目标? 熟练掌握循环结构的程序设计,有自己的算法,合理的循环结构,程序设计 参考文献 度娘,教科书,《C Primer Plus》等。 1.PTA实验作业 1.1 题目名1 7-8 输出三角形字符阵列 1.1.1数据处理 ①数据表达:使用了整形变量n,i和j;A,i,j表示循环起点,其中j为循环变量, n为输入的字符个数,使用字符型变量c;根据所学知识和题目可得这些变量。 ②数据处理:(伪代码如下) Begin include<stdio.h> int main () { 定义整型变量 n,i,j,; 定义字符型变量 c←'A'; scanf("%d",&n); for (i←0 to n) for (j←1 to n-i+1) printf("%c ",c); x←x+1; } printf("\n"); } End 1.1.2实验代码截图 1.1.3 造测试数据 输入数据 输出数据 说明 4 该三角形有4行 6 该三角形有6行 2 该三角形有2行 1.1.4 PTA提交列表及说明 1.2 题目2 7-3 梅森数 1.2.1

C语言I博客作业11

女生的网名这么多〃 提交于 2019-12-16 23:35:17
一.表格 问题 答案 这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-1/homework/10132 我在这个课程的目标是 熟练的运用与掌握计算机系统和C语言知识 这个作业在那个具体方面帮助我实现目标 函数定义及相关知识 参考文献 《C语言程序设计》、《C Primer Plus》 二.本周作业 1. PTA实验作业(20分/题) 从PTA题目集中选出2个你最满意的题目完成以下内容,选择题目难度越大,分值越高,每题20分(每项5分) 1.1 题目名1 1.1.1数据处理 数据表达:先根据题目定义浮点型变量a,b,c表示一元二次方程的三个系数以及定义一元二次方程的两个根x1,x2和x。其中x1,x2都是浮点型变量。 数据处理:(伪代码如下) 定义浮点型变量a,b,c,x1,x2,x 进入if语句嵌套循环分两种情况a是否为0 if(a==0) { if(b!=0&&c!=0||b!=0&&c==0) 如果仅当b不为0时的情况 if(x==-0) 考虑 如果x为-0时的情况 printf("x = %g",-x); else 另x为0时的输出 printf("x = %g", x); if(b==0&&c!=0) 当c不为0时b为0时的方程的解的情况 printf("无解\n");

ACM C语言数据输入

大城市里の小女人 提交于 2019-12-16 17:25:22
1. 最简单的输入 例1: Description 计算 a + b Input 两个整数 a , b Output a + b的值 Sample Input 1 2 Sample Output 3 这种最简单的输入,接受一组输入,针对这组输入计算出值即可。这与平时的程序设计并无差异。解决办法是: # include <stdio.h> int main ( ) { int a , b ; scanf ( "%d %d" , & a , & b ) ; printf ( "%d\n" , a + b ) ; //对其他题目,换成要求的复杂处理与输出 return 0 ; } 2. 一次运行,要输入多组数据,直到读至输入文件末尾(EOF)为止 例2: Description 计算 a + b Input 多组由两个整数(a和b)构成的输入,a和b之间用空格隔开,每组输入单独占一行 Output 每组的两个整数(a和b)求和并输出,每组的求和结果独占一行 Sample Input 1 5 10 20 400 516 Sample Output 6 30 916 这种输入包含多对输入数据,需要构造一个循环读取。因为没有指出到底有多少对输入,要有办法判断输入何时结束。解决办法是: # include <stdio.h> int main ( ) { int a , b ; while (

C语言程序设计进阶-第1周编程题

这一生的挚爱 提交于 2019-12-14 14:00:38
1 字符串比对(10分) 题目内容: 题目说起来很简单,你会读到两个字符串,每个字符串占据一行,每个字符串的长度均小于10000字符,而且第一个字符串的长度小于第二个字符串的。你的程序要找出第一个字符串在第二个字符串中出现的位置,输出这些位置,如果找不到,则输出-1。 注意,第一个字符的位置是0。 注意,第一个字符串在第二个字符串中的位置可能不止一处。 注意,字符串中可能含有空格。 注意,两个字符串的长度一定大于0。 输入格式: 两个字符串,一行一个。 输出格式: 第一个字符串在第二个字符串中出现的位置,按照从小到到的顺序排列,每个数字后面有一个空格。 如果在第二个字符串中找不到第一个字符串,则输出-1。 输入样例: abba ababbba abbabbabbabbaacc 输出样例: 8 11 14 17 时间限制:500ms内存限制:32000kb 1.此代码满分 # include <stdio.h> # include <string.h> int myfind ( int l , const char * t , const char * s ) { int idx = 0 ; int flag = 1 ; int F = 0 ; while ( s [ idx ] ) { flag = 1 ; for ( int i = 0 ; i < l ; i ++ ) { if

为什么需要学习C语言

旧街凉风 提交于 2019-12-14 11:18:33
学习C语言的主要理由有以下几点: ·C语言可以作为学习计算机程序设计语言的入门语言; ·C语言是编写操作系统的首选语言,与计算机硬件打交道时灵巧且高效; ·C语言具有现代高级程序设计语言的基本语法特征; ·常用的面向对象程序设计语言例如C++和Java,其基本语法源于C语言; ·许多C语言编写的软件系统需要维护; ·用于要求程序高速运行领域的编写,例如单片机程序、嵌入式系统软件和通信程序等; ·游戏设计者和黑客少不了C语言; ·C语言使用者和爱好者众多。 需要强调的是,C语言是一种既高级又低级的程序设计语言,高级是指它具有高级程序设计语言的所有特征,低级是指它可以代替机器语言或汇编语言编写高速运行的软件程序。C语言有丰富的库函数可以使用,这为编程带来了极大的便利性,提高了编程的效率。C语言的库函数种类齐全,包括标准输入输入(stdio.h)、数学函数(math.h)、存储分配(malloc.h)和字符串函数(string.h)等等。通过C语言程序及其存储分配函数实现计算机系统内存分配是一种不可替代的实现。 方方面面来看,C语言应该是计算机相关专业人士必须学习的基础的程序设计语言。还需要明确的是,程序设计语言只是一种工具,一种描述计算过程的工具,它主要包括语法和语义两个部分。程序设计与程序设计语言并不是一回事,需要另外加以学习。 ———————————————— 版权声明

C语言|作业12—学期总结

。_饼干妹妹 提交于 2019-12-13 22:44:08
一、我学到的内容 二、我的收获 作业链接 收获 C语言I作业1: https://www.cnblogs.com/ffyl/p/11551454.html 第一吃尝试PTA,第一次接触编程 C语言I作业2: https://www.cnblogs.com/ffyl/p/11618561.html 懂得了提问的智慧,安装MinGw-w64来编译C程序 C语言I作业3: https://www.cnblogs.com/ffyl/p/11638237.html 掌握了关系运算、if-else语句、格式化输入语句scanf(),以及常用的数学库函数 C语言I作业4: https://www.cnblogs.com/ffyl/p/11697132.html 掌握了使用for循环语句实现指定次数的循环程序设计,了解item,flag变量 C语言I作业5: https://www.cnblogs.com/ffyl/p/11741347.html 了解到函数的概念,熟练地运用函数 C语言I作业6: https://www.cnblogs.com/ffyl/p/11758119.html 熟悉多分支结构、字符型数据类型和逻辑运算符 C语言I作业7: https://www.cnblogs.com/ffyl/p/11798099.html 对switch的概念理解及掌握 C语言I作业8: https:

c语言程序设计(15)

淺唱寂寞╮ 提交于 2019-12-13 00:37:16
函数的声明 为什么要声明 当被调用函数的定义在主调函数后面,此时应该在主调函数中对被调用函数进行声明,方便编译系统检查函数调用语句的合法性 函数调用时参数的传递:非指针类型的数据做函数参数,由实参将值对应地传递给形参,实参形参占用不同的内存单元,形参的改变不会影响到实参 数组名(指针)做函数参数,实参将值(地址)对应地传递给形参,形参实参占用同一内存单元,形参的改变就是实参的改变 void exchange(int a,int b) { int t; t=a;a=b;b=t; } void main() { int x=2,y=5; exchange(x,y); exchange1(&x,&y); printf("%d%d",x,y); } void exchange1(int * a,int * b) { int t; t=*a; *a=*b; *b=t; } 案例:利用函数,实现数组排序 int sum(int * a)// int sum (int a[])// int sum(int a[20])//c语言中,如果指针指向数组,则指针可以带下标,即可以把指针看成是数组名 { int i,sum=0; for(i=0;i<10;i++) sum+=a[i]; return sum } viod main() { int a[10]={3,5,2,7,8,12,43,67,34

C语言程序设计100例之(24):数制转换

◇◆丶佛笑我妖孽 提交于 2019-12-12 12:42:45
例24 数制转换 题目描述 请你编一程序实现两种不同进制之间的数据转换。 输入格式 共三行,第一行是一个正整数,表示需要转换的数的进制n(2≤n≤16),第二行是一个n进制数,若n>10则用大写字母A-F表示数码10-15,并且该n进制数对应的十进制的值不超过1000000000,第三行也是一个正整数,表示转换之后的数的进制m(2≤m≤16)。 输出格式 一个正整数,表示转换之后的m进制数。 输入样例 16 FF 2 输出样例 11111111 (1)编程思路。 十进制整数转换为R进制整数的基本方法是:“除R取余”。具体做法为:对于十进制数整数,用R连续除要转换的十进制整数及各次所得之商,直除到商等于0时为止,则各次所得之余数即为所求R进制整数由低位到高位的值。这个过程可以写成一个简单的循环。 一般而言,对于任意的R进制数 A n-1 A n-2 …A 1 A 0 可以表示为以下和式: A n-1 ×R n-1 +…+A 1 ×R 1 +A 0 ×R 0 (其中R为基数) 这个和式也称为“按权展开式”。 R进制数转换为十进制数的基本方法是将R进制数的各位按权展开相加即可。 本例的思路是:将输入的n进制整数按权值展开后转换为十进制整数,再将所得的十进制整数采用“除m取余”转换为m进制整数即可。 (2)源程序。 #include <stdio.h> int main() { char

C语言I作业08

房东的猫 提交于 2019-12-11 23:23:59
问题 答案 这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-4/homework/10030 我在这个课程的目标是 熟练掌握C语言和markdown语法的相关用法 这个作业在那个具体方面帮助我实现目标 它能够让我更好的去熟悉C语言和markdown语法 参考文献 PTA常见问题解析 , C语言程序设计 ,C Primer Plus 1.PTA实验作业 1.1 7-1 求整数的位数及各位数字之和 题目内容:对于给定的正整数N,求它的位数及其各位数字之和。 。 1.1.1数据处理 数据表达:我定义了四个整型变量N,T,i,s。N代表了那个正整数,T作为判断,i是输出N的位数,s是其各位数字之和。 数据处理:先用scanf语句输入正整数N,再用while语句去执行,最后用printf语句输出 1.1.2实验代码截图 1.1.3 造测试数据 输入数据 输出数据 说明 321 3 6 实验数据 1.1.4 PTA提交列表及说明 提交列表说明 1编译错误:没有仔细printf括号后忘打分号 2答案正确:将printf最后加上分号 1.2 韩信点兵 题目内容:请编写程序输出韩信至少拥有的士兵人数 1.2.1数据处理 数据表达:定义了3个正整数N、U、D,其中D<U,N不超过100