C语言上机练习
Alexling0
这个作者很懒,什么都没留下…
展开
-
单链表头插法、尾插法建立-C语言
代码如下:头插法:#include <stdio.h>#include <stdlib.h>typedef struct LNode{ int val; struct LNode *next;}LNode,*List; //头插法 List headInsert(List &head){ LNode *node; head=(LNode*)malloc(sizeof(LNode)); head->next=NULL; int x;原创 2020-05-14 15:42:05 · 301 阅读 · 0 评论 -
N诺-1109.二叉树的遍历和建立-C语言
Time Limit: 1000 msMemory Limit: 256 mb建立以二叉链作为存储结构的二叉树,实现 1)先序遍历; 2)中序遍历; 3)后序遍历; 4)层序遍历; 5)编程计算二叉树的叶子结点个数。输入输出格式输入描述:按照先序遍历序列输入二叉树中数据元素的值,没有的输入0表示。输出描述:第一行输出先序遍历序列 第二行输出中序遍历序列 第三行输出后序遍历序列 第四行输出叶子结点的个数。输入输出样例输入样例#:复制A B C 0 0 0 D E原创 2020-05-13 18:23:16 · 386 阅读 · 0 评论 -
N诺-1355.素数判定-C语言
Time Limit: 1000 msMemory Limit: 256 mb给定一个数n,要求判断其是否为素数(0,1,负数都是非素数)。输入输出格式输入描述:测试数据有多组,每组输入一个数n。输出描述:对于每组输入,若是素数则输出yes,否则输入no。输入输出样例输入样例#:复制13输出样例#:复制yes题目来源哈尔滨工业大学机试代码如下:#include <stdio.h>int prime(int n){原创 2020-05-13 16:26:28 · 363 阅读 · 0 评论 -
N诺-1013.判断素数-C语言
Time Limit: 1000 msMemory Limit: 256 mb输入一个整数,判断该整数是否为素数,若是,输出该整数,若否,输出大于该整数的第一个素数。(例如,输入为14,输出17,因为17是大于14的第一个素数)输入输出格式输入描述:输入一个整数n,n最大为10000。输出描述:按题意输出。输入输出样例输入样例#:复制14输出样例#:复制17题目来源贵州大学2014机试代码如下:#include <std原创 2020-05-13 16:17:51 · 299 阅读 · 0 评论 -
N诺-1102.素数判定-C语言
Time Limit: 1000 msMemory Limit: 256 mb给你两个数a、b,现在的问题是要判断这两个数组成的区间内共有多少个素数输入输出格式输入描述:多组测试数据。 每个测试数据输入两个数a、b。(2<=a,b<=1000)输出描述:输出该区间内素数的个数。输入输出样例输入样例#:复制2 44 6输出样例#:复制21提示请注意a和b的大小关系不定代码如下:#include <stdio原创 2020-05-13 12:32:17 · 239 阅读 · 0 评论 -
N诺-1108-队列-C语言
Time Limit: 1000 msMemory Limit: 256 mb1)建立顺序循环队列SeqQueue。 2)编写程序判断一个字符序列是否是回文。输入输出格式输入描述:字符串输出描述:判断的结果,是回文就输出“yes”,否则就输出“no”。输入输出样例输入样例#:复制abcab输出样例#:复制no代码如下:方法一:#include <stdio.h>int main(){ int count=0; ch原创 2020-05-12 23:54:17 · 246 阅读 · 0 评论 -
PTA-习题8-7 字符串排序 (20分)-C语言
本题要求编写程序,读入5个字符串,按由小到大的顺序输出。输入格式:输入为由空格分隔的5个非空字符串,每个字符串不包括空格、制表符、换行符等空白字符,长度小于80。输出格式:按照以下格式输出排序后的结果:After sorted:每行一个字符串输入样例:red yellow blue green white输出样例:After sorted:bluegreenredwhiteyellow代码如下:#include <stdio.h>原创 2020-05-12 23:13:07 · 2170 阅读 · 0 评论 -
N诺-1110.栈-C语言
Time Limit: 1000 msMemory Limit: 256 mb建立顺序栈或链栈,编写程序实现十进制数到二进制数的转换。输入输出格式输入描述:输入只有一行,就是十进制整数。输出描述:转换后的二进制数。输入输出样例输入样例#:复制10输出样例#:复制1010代码如下:方法一:#include <stdio.h>#include <stdlib.h>#define MaxSize 1000 t原创 2020-05-12 22:14:39 · 201 阅读 · 0 评论 -
N诺-1533.单链表节点-C语言
Time Limit: 1000 msMemory Limit: 256 mb输入一个单链表,将奇数位置上的节点与偶数位置上的节点进行交换,然后输出交换之后的链表。输入输出格式输入描述:输入一个数n(n<100),表示节点数量,然后输入n个数。输出描述:输出结果输入输出样例输入样例#:复制51 2 3 4 5输出样例#:复制2 1 4 3 5题目来源四川大学2019年机试题代码如下:#include <stdio原创 2020-05-12 20:48:51 · 539 阅读 · 0 评论 -
N诺-1405.遍历链表-C语言
Time Limit: 1000 msMemory Limit: 256 mb建立一个升序链表并遍历输出。输入输出格式输入描述:输入的每个案例中第一行包括1个整数:n(1<=n<=1000),接下来的一行包括n个整数。输出描述:可能有多组测试数据,对于每组数据,将n个整数建立升序链表,之后遍历链表并输出。输入输出样例输入样例#:复制43 5 7 9输出样例#:复制3 5 7 9题目来源华中科技大学代码如下:#i原创 2020-05-12 20:42:30 · 230 阅读 · 0 评论 -
N诺-1025.链表合并-C语言
Time Limit: 1000 msMemory Limit: 256 mb给定两个元素有序(从小到大)的链表,要求将两个链表合并成一个有序(从小到大)链表,输入输出格式输入描述:第一行输入第一个链表的结点数S1,S1<=100。第二行输入S1个整数,两两之间用空格隔开。第三行输入第二个链表的结点数S2,S2<=100。第四行输入S2个整数,两两之间用空格隔开。输出描述:输出合并之后的链表结果,两两之间用空格隔开,末尾没有空格。输入输出样例输入样例#原创 2020-05-12 20:39:29 · 229 阅读 · 0 评论 -
Zero-complexity-c语言
一、Zero-complexity题目描述You are given a sequence of integer numbers. Zero-complexity transposition of the sequence is the reverse of this sequence. Your task is to write a program that prints zero-complexity transposition of the given sequence.输入描述:For e.原创 2020-05-12 17:26:32 · 165 阅读 · 0 评论 -
放苹果-C语言
三、放苹果题目描述把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。输入描述:每行均包含二个整数M和N,以空格分开。1<=M,N<=10。输出描述:对输入的每组数据M和N,用一行输出相应的K。示例1输入复制7 3输出复制8代码如下:#include <stdio.h>int fun(int m,int n){ if(m==0||n==1){//没有苹果或者只有一原创 2020-05-12 12:56:36 · 3557 阅读 · 0 评论 -
Skew数(二进制数)-C语言
二、Skew数(二进制数)题目描述在 skew binary表示中, 第 k 位的值xk表示xk*(2^(k+1)-1)。 每个位上的可能数字是0 或 1,最后面一个非零位可以是2, 例如, 10120(skew) = 1*(2^5-1) + 0*(2^4-1) + 1*(2^3-1) + 2*(2^2-1) + 0*(2^1-1) = 31 + 0 + 7 + 6 + 0 = 44. 前十个skew数是 0、1、2、10、11、12、20、100、101、以及102。输入描述:输入包含一行或多行.原创 2020-05-12 12:55:49 · 587 阅读 · 1 评论 -
数组逆置-C语言
一、数组逆置题目描述输入一个字符串,长度小于等于200,然后将数组逆置输出。输入描述:测试数据有多组,每组输入一个字符串。输出描述:对于每组输入,请输出逆置后的结果。示例1输入hdssg输出gssdh代码如下:#include <stdio.h>int strlen(char a[]){ int len=0; for(int i=0;a[i]!='\0';i++){ len++; } return len;}int main(){ char .原创 2020-05-12 12:54:29 · 1061 阅读 · 0 评论 -
统计同成绩的人数-C语言
三、统计同成绩的人数题目描述读入N名学生的成绩,将获得某一给定分数的学生人数输出。输入描述:测试输入包含若干测试用例,每个测试用例的格式为第1行:N第2行:N名学生的成绩,相邻两数字用一个空格间隔。第3行:给定分数当读到N=0时输入结束。其中N不超过1000,成绩分数为(包含)0到100之间的一个整数。输出描述:对每个测试用例,将获得给定分数的学生人数输出。示例1输入380 60 9060285 660560 75 90 55 75750输出102原创 2020-05-11 21:37:14 · 2816 阅读 · 1 评论 -
神奇的口袋-C语言
二、神奇的口袋题目描述有一个神奇的口袋,总的容积是40,用这个口袋可以变出一些物品,这些物品的总体积必须是40。John现在有n个想要得到的物品,每个物品的体积分别是a1,a2……an。John可以从这些物品中选择一些,如果选出的物体的总体积是40,那么利用这个神奇的口袋,John就可以得到这些物品。现在的问题是,John有多少种不同的选择物品的方式。输入描述:输入的第一行是正整数n (1 <= n <= 20),表示不同的物品的数目。接下来的n行,每行有一个1到40之间的正整数,分别给原创 2020-05-11 21:33:46 · 1138 阅读 · 0 评论 -
字符串内排序-C语言
一、字符串内排序题目描述输入一个字符串,长度小于等于200,然后将输出按字符顺序升序排序后的字符串。输入描述:测试数据有多组,输入字符串。输出描述:对于每组输入,输出处理后的结果。示例1输入bacd输出abcd代码如下:#include <stdio.h>int main(){ char a[220]; int counter=0; scanf("%c",&a[counter]); while(a[counter]!='\0'){//特别注意原创 2020-05-11 21:32:44 · 3378 阅读 · 2 评论 -
PTA-7-3 逆序的三位数 (10分)-C语言
程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。输入格式:每个测试是一个3位的正整数。输出格式:输出按位逆序的数。输入样例:123输出样例:321代码如下:#include <stdio.h>int main(){ int n; scanf("%d",&n); int res=0; while(n){ res=r原创 2020-05-11 16:12:57 · 485 阅读 · 0 评论 -
xxx定律-C语言
三、xxx定律题目描述 对于一个数n,如果是偶数,就把n砍掉一半;如果是奇数,把n变成 3*n+ 1后砍掉一半,直到该数变为1为止。 请计算需要经过几步才能将n变到1,具体可见样例。输入描述: 测试包含多个用例,每个用例包含一个整数n,当n为0 时表示输入结束。(1<=n<=10000)输出描述: 对于每组测试用例请输出一个数,表示需要经过的步数,每组输出占一行。示例1输入310输出50代码如下:#include <stdio...原创 2020-05-11 15:41:21 · 235 阅读 · 0 评论 -
字符串排序-C语言
二、字符串排序题目描述输入一个长度不超过20的字符串,对所输入的字符串,按照ASCII码的大小从小到大进行排序,请输出排序后的结果输入描述:一个字符串,其长度n<=20输出描述:输入样例可能有多组,对于每组测试样例,按照ASCII码的大小对输入的字符串从小到大进行排序,输出排序后的结果示例1输入dcba输出abcd代码如下:#include <stdio.h>int main(){ char a[30]; int count=0; scanf...原创 2020-05-11 15:39:55 · 8579 阅读 · 0 评论 -
百鸡问题-C语言
一、百鸡问题题目描述 用小于等于n元去买100只鸡,大鸡5元/只,小鸡3元/只,还有1/3元每只的一种小鸡,分别记为x只,y只,z只。编程求解x,y,z所有可能解。输入描述: 测试数据有多组,输入n。输出描述: 对于每组输入,请输出x,y,z所有可行解,按照x,y,z依次增大的顺序输出。示例1输入40输出x=0,y=0,z=100x=0,y=1,z=99x=0,y=2,z=98x=1,y=0,z=99代码如下:#include <stdio.h&...原创 2020-05-11 15:38:44 · 3963 阅读 · 0 评论 -
Digital Roots(数字根)-C语言
三、Digital Roots题目描述 The digital root of a positive integer is found by summing the digits of the integer. If the resulting value is a single digit then that digit is the digital root. If the resulting value contains two or more digits, those digits ar..原创 2020-05-10 23:42:17 · 2276 阅读 · 2 评论 -
求平均年龄-C语言
二、求平均年龄题目描述班上有学生若干名,给出每名学生的年龄(整数),求班上所有学生的平均年龄,保留到小数点后两位。输入描述:第一行有一个整数n(1<= n <= 100),表示学生的人数。其后n行每行有1个整数,取值为15到25。输出描述:可能有多组测试数据,对于每组数据,输出一行,该行包含一个浮点数,为要求的平均年龄,保留到小数点后两位。要输出浮点数、双精度数小数点后2位数字,可以用下面这种形式:printf("%.2f", num);示例1输入21817输出.原创 2020-05-10 23:38:54 · 7253 阅读 · 3 评论 -
数字之和-C语言
一、数字之和题目描述对于给定的正整数 n,计算其十进制形式下所有位置数字之和,并计算其平方的各位数字之和。输入描述:每行输入数据包括一个正整数n(0<n<40000)输出描述:对于每个输入数据,计算其各位数字之和,以及其平方值的数字之和,输出在一行中,之间用一个空格分隔,但行末不要有空格。示例1输入4129739999输出4 73 916 2239 36代码如下:#include <stdio.h>int main(){ int n;原创 2020-05-10 23:36:23 · 2431 阅读 · 0 评论 -
字符串比较-C语言
给出一个字符串a,任意给出另外一个字符串b,求出b在字符串a中出现的次数(不重叠计算)such a="abcbcbca" b="bc" 次数=3such a="abbbbbba" b="bb" 次数=3 不重叠代码如下:#include <stdio.h>int check_str_appear_times(char a[],int alen,char b[],int blen){ //返回结果 int res=0; //记录a数组比较位置 int a_move_po原创 2020-05-10 18:06:01 · 396 阅读 · 0 评论 -
三角形的边
三、三角形的边题目描述给定三个已知长度的边,确定是否能够构成一个三角形,这是一个简单的几何问题。我们都知道,这要求两边之和大于第三边。实际上,并不需要检验所有三种可能,只需要计算最短的两个边长之和是否大于最大那个就可以了。 这次的问题就是:给出三个正整数,计算最小的数加上次小的数与最大的数之差。输入描述:每一行包括三个数据a, b, c,并且都是正整数,均小于10000。输出描述:对于输入的每一行,在单独一行内输出结果s。s=min(a,b,c)+mid(a,b,c)-max(a,b,c)。上式原创 2020-05-10 12:29:04 · 266 阅读 · 0 评论 -
Fibonacci -C语言
二、Fibonacci题目描述 The Fibonacci Numbers{0,1,1,2,3,5,8,13,21,34,55...} are defined by the recurrence: F0=0 F1=1 Fn=Fn-1+Fn-2,n>=2 Write a program to calculate the Fibonacci Numbers.输入描述: Each case contains a number n and you are expected...原创 2020-05-10 12:27:23 · 273 阅读 · 0 评论 -
数字求和-C语言
一、数字求和题目描述给定一个正整数a,以及另外的5个正整数,问题是:这5个整数中,小于a的整数的和是多少?输入描述:输入一行,只包括6个小于100的正整数,其中第一个正整数就是a。输出描述:可能有多组测试数据,对于每组数据,输出一行,给出一个正整数,是5个数中小于a的数的和。示例1输入10 1 2 3 4 11输出10代码如下:#include <stdio.h>int main(){ int a,arr[5]; scanf("%d",&a);原创 2020-05-10 12:25:45 · 3003 阅读 · 1 评论 -
吃糖果-C语言
三、吃糖果题目描述名名的妈妈从外地出差回来,带了一盒好吃又精美的巧克力给名名(盒内共有 N 块巧克力,20 > N >0)。妈妈告诉名名每天可以吃一块或者两块巧克力。 假设名名每天都吃巧克力,问名名共有多少种不同的吃完巧克力的方案。例如: 如果N=1,则名名第1天就吃掉它,共有1种方案;如果N=2,则名名可以第1天吃1块,第2天吃1块,也可以第1天吃2块,共有2种方案;如果N=3,则名名第1天可以吃1块,剩2块,也可以第1天吃2块剩1块,所以名名共有2+1=3种方案;如果...原创 2020-05-09 14:15:31 · 2321 阅读 · 0 评论 -
最大公约数-C语言
二、题目描述输入两个正整数,求其最大公约数。输入描述:测试数据有多组,每组输入两个正整数。输出描述:对于每组输入,请输出其最大公约数。示例1输入49 14输出7代码如下:#include <stdio.h>int main(){ int m,n; scanf("%d%d",&m,&n); while(n!=0){ int temp=m%n; m=n; n=temp; } printf("%d",m); return 0;原创 2020-05-09 14:14:17 · 1728 阅读 · 1 评论 -
abc+bcc==532(C语言)
一、题目描述设a、b、c均是0到9之间的数字,abc、bcc是两个三位数,且有:abc+bcc=532。求满足条件的所有a、b、c的值。输入描述:题目没有任何输入。输出描述:请输出所有满足题目条件的a、b、c的值。a、b、c之间用空格隔开。每个输出占一行。代码如下:#include <stdio.h>int main(){ for(int a=1;a<=9;a++){ for(int b=1;b<=9;b++){ for(int c=0;c<原创 2020-05-09 14:13:03 · 1326 阅读 · 0 评论