c语言习题
QLUGCL
每一步都算数
展开
-
Rinne Loves Math
链接:https://ac.nowcoder.com/acm/contest/370/J来源:牛客网#include<stdio.h>#include<math.h>int main(){ double t,i,j,item,n; scanf("%lf",&t); for(i=0;i<t;i++) { n=0; scanf("%l...原创 2019-02-09 23:03:24 · 133 阅读 · 0 评论 -
习题8-4 报数 (20 分)
报数游戏是这样的:有n个人围成一圈,按顺序从1到n编好号。从第一个人开始报数,报到m(<n)的人退出圈子;下一个人从1开始报数,报到m的人退出圈子。如此下去,直到留下最后一个人。本题要求编写函数,给出每个人的退出顺序编号。函数接口定义:void CountOff( int n, int m, int out[] );其中n是初始人数;m是游戏规定的退出位次(保证为小于n的正整数)。函...原创 2019-01-13 20:04:36 · 3244 阅读 · 6 评论 -
习题8-3 数组循环右移 (20 分)
本题要求实现一个对数组进行循环右移的简单函数:一个数组a中存有n(>0)个整数,将每个整数循环向右移m(≥0)个位置,即将a中的数据由(最后m个数循环移至最前面的m个位置)。函数接口定义:int ArrayShift( int a[], int n, int m );其中a[]是用户传入的数组;n是数组的大小;m是右移的位数。函数ArrayShift须将循环右移后的数组仍然存在a[]...原创 2019-01-13 08:52:19 · 5364 阅读 · 2 评论 -
习题11-1 输出月份英文名 (15 分)
本题要求实现函数,可以返回一个给定月份的英文名称。函数接口定义:char *getmonth( int n );函数getmonth应返回存储了n对应的月份英文名称的字符串头指针。如果传入的参数n不是一个代表月份的数字,则返回空指针NULL。裁判测试程序样例:#include <stdio.h>char *getmonth( int n );int main(){...原创 2019-01-18 11:07:58 · 3592 阅读 · 7 评论 -
习题6-6 使用函数输出一个整数的逆序数 (20 分)
本题要求实现一个求整数的逆序数的简单函数。函数接口定义:int reverse( int number );其中函数reverse须返回用户传入的整型number的逆序数。裁判测试程序样例:#include <stdio.h>int reverse( int number );int main(){ int n; scanf("%d", &...原创 2019-01-12 14:55:43 · 2297 阅读 · 0 评论 -
习题6-5 使用函数验证哥德巴赫猜想 (20 分)
本题要求实现一个判断素数的简单函数,并利用该函数验证哥德巴赫猜想:任何一个不小于6的偶数均可表示为两个奇素数之和。素数就是只能被1和自身整除的正整数。注意:1不是素数,2是素数。函数接口定义:int prime( int p );void Goldbach( int n );其中函数prime当用户传入参数p为素数时返回1,否则返回0;函数Goldbach按照格式“n=p+q”输出n的素数...原创 2019-01-12 14:39:14 · 605 阅读 · 2 评论 -
习题7-3 判断上三角矩阵 (15 分)
上三角矩阵指主对角线以下的元素都为0的矩阵;主对角线为从矩阵的左上角至右下角的连线。本题要求编写程序,判断一个给定的方阵是否上三角矩阵。输入格式:输入第一行给出一个正整数T,为待测矩阵的个数。接下来给出T个矩阵的信息:每个矩阵信息的第一行给出一个不超过10的正整数n。随后n行,每行给出n个整数,其间以空格分隔。输出格式:每个矩阵的判断结果占一行。如果输入的矩阵是上三角矩阵,输出“YES”...原创 2019-01-02 21:47:23 · 793 阅读 · 2 评论 -
习题10-7 十进制转换二进制 (15 分)
本题要求实现一个函数,将正整数n转换为二进制后输出。函数接口定义:void dectobin( int n );函数dectobin应在一行中打印出二进制的n。建议用递归实现。裁判测试程序样例:#include <stdio.h>void dectobin( int n );int main(){ int n; scanf("%d", &n...原创 2019-01-17 13:55:44 · 5244 阅读 · 1 评论 -
习题10-4 递归求简单交错幂级数的部分和 (15 分)
本题要求实现一个函数,计算下列简单交错幂级数的部分和:函数接口定义:double fn( double x, int n );其中题目保证传入的n是正整数,并且输入输出都在双精度范围内。函数fn应返回上述级数的部分和。建议尝试用递归实现。裁判测试程序样例:#include <stdio.h>double fn( double x, int n );int main()...原创 2019-01-17 12:13:10 · 2364 阅读 · 0 评论 -
习题11-5 指定位置输出字符串 (20 分)(关于动静态变量与malloc()函数“动态内存分配”)
本题要求实现一个函数,对给定的一个字符串和两个字符,打印出给定字符串中从与第一个字符匹配的位置开始到与第二个字符匹配的位置之间的所有字符。函数接口定义:char *match( char *s, char ch1, char ch2 );函数match应打印s中从ch1到ch2之间的所有字符,并且返回ch1的地址。裁判测试程序样例:#include &lt;stdio.h&gt;#d...原创 2019-01-18 22:06:39 · 389 阅读 · 0 评论 -
习题11-6 查找子串 (20 分)
本题要求实现一个字符串查找的简单函数。函数接口定义:char *search( char *s, char *t );函数search在字符串s中查找子串t,返回子串t在s中的首地址。若未找到,则返回NULL。裁判测试程序样例:#include <stdio.h>#define MAXS 30char *search(char *s, char *t);void Re...原创 2019-01-19 10:48:45 · 3833 阅读 · 0 评论 -
习题10-1 判断满足条件的三位数 (15 分)
本题要求实现一个函数,统计给定区间内的三位数中有两位数字相同的完全平方数(如144、676)的个数。函数接口定义:int search( int n );其中传入的参数int n是一个三位数的正整数(最高位数字非0)。函数search返回[101, n]区间内所有满足条件的数的个数。裁判测试程序样例:#include <stdio.h>#include <math.h...原创 2019-01-16 18:39:24 · 8286 阅读 · 2 评论 -
习题9-6 按等级统计学生成绩 (20 分)
本题要求实现一个根据学生成绩设置其等级,并统计不及格人数的简单函数。函数接口定义:int set_grade( struct student *p, int n );其中p是指向学生信息的结构体数组的指针,该结构体的定义为:struct student{int num;char name[20];int score;char grade;};n是数组元素个数。学号num、姓名n...原创 2019-01-15 19:10:41 · 1756 阅读 · 0 评论 -
习题7-8 字符串转换成十进制整数 (十六进制字符)
输入一个以#结束的字符串,本题要求滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,然后将其转换为十进制数后输出。如果在第一个十六进制字符之前存在字符“-”,则代表该数是负数。输入格式:输入在一行中给出一个以#结束的非空字符串。输出格式:在一行中输出转换后的十进制数。题目保证输出在长整型范围内。输入样例:±P-xf4±1!#输出样例:-3905#in...原创 2019-01-09 14:50:12 · 840 阅读 · 6 评论 -
习题11-8 单链表结点删除 (20 分)
本题要求实现两个函数,分别将读入的数据存储为单链表、将链表中所有存储了某给定值的结点删除。链表结点定义如下:struct ListNode {int data;ListNode *next;};函数接口定义:struct ListNode *readlist();struct ListNode *deletem( struct ListNode *L, int m );函数read...原创 2019-01-19 21:56:15 · 5970 阅读 · 0 评论 -
习题11-7 奇数值结点链表 (20 分)
本题要求实现两个函数,分别将读入的数据存储为单链表、将链表中奇数值的结点重新组成一个新的链表。链表结点定义如下:struct ListNode {int data;ListNode *next;};函数接口定义:struct ListNode *readlist();struct ListNode *getodd( struct ListNode **L );函数readlist从...原创 2019-01-19 18:21:45 · 1384 阅读 · 3 评论 -
习题8-8 判断回文字符串 (20 分)
本题要求编写函数,判断给定的一串字符是否为“回文”。所谓“回文”是指顺读和倒读都一样的字符串。如“XYZYX”和“xyzzyx”都是回文。函数接口定义:bool palindrome( char *s );函数palindrome判断输入字符串char *s是否为回文。若是则返回true,否则返回false。裁判测试程序样例:#include <stdio.h>#inclu...原创 2019-01-14 17:49:37 · 1792 阅读 · 1 评论 -
习题9-5 通讯录排序 (20 分)
输入n个朋友的信息,包括姓名、生日、电话号码,本题要求编写程序,按照年龄从大到小的顺序依次输出通讯录。题目保证所有人的生日均不相同。输入格式:输入第一行给出正整数n(<10)。随后n行,每行按照“姓名 生日 电话号码”的格式给出一位朋友的信息,其中“姓名”是长度不超过10的英文字母组成的字符串,“生日”是yyyymmdd格式的日期,“电话号码”是不超过17位的数字及+、-组成的字符串。...原创 2019-01-08 18:38:45 · 2774 阅读 · 1 评论 -
习题9-4 查找书籍 (20 分)(getchar()在循环中巧妙运用)
给定n本书的名称和定价,本题要求编写程序,查找并输出其中定价最高和最低的书的名称和定价。输入格式:输入第一行给出正整数n(&lt;10),随后给出n本书的信息。每本书在一行中给出书名,即长度不超过30的字符串,随后一行中给出正实数价格。题目保证没有同样价格的书。输出格式:在一行中按照“价格, 书名”的格式先后输出价格最高和最低的书。价格保留2位小数。输入样例:3Programming...原创 2019-01-08 17:47:49 · 192 阅读 · 0 评论 -
习题6-3 使用函数输出指定范围内的完数 (20 分)
本题要求实现一个计算整数因子和的简单函数,并利用其实现另一个函数,输出两正整数m和n(0<m≤n≤10000)之间的所有完数。所谓完数就是该数恰好等于除自身外的因子之和。例如:6=1+2+3,其中1、2、3为6的因子。函数接口定义:int factorsum( int number );void PrintPN( int m, int n );其中函数factorsum须返回int ...原创 2019-01-11 15:31:39 · 3224 阅读 · 6 评论 -
习题8-10 输出学生成绩 (20 分)
本题要求编写程序,根据输入学生的成绩,统计并输出学生的平均成绩、最高成绩和最低成绩。建议使用动态内存分配来实现。输入格式:输入第一行首先给出一个正整数N,表示学生的个数。接下来一行给出N个学生的成绩,数字间以空格分隔。输出格式:按照以下格式输出:average = 平均成绩max = 最高成绩min = 最低成绩结果均保留两位小数。输入样例:385 90 95输出样例:a...原创 2019-01-05 20:12:36 · 4762 阅读 · 1 评论 -
练习7-8 方阵循环右移 (20 分)
本题要求编写程序,将给定n×n方阵中的每个元素循环向右移m个位置,即将第0、1、⋯、n−1列变换为第n−m、n−m+1、⋯、n−1、0、1、⋯、n−m−1列。输入格式:输入第一行给出两个正整数m和n(1≤n≤6)。接下来一共n行,每行n个整数,表示一个n阶的方阵。输出格式:按照输入格式输出移动后的方阵:即输出n行,每行n个整数,每个整数后输出一个空格。输入样例:2 31 2 34 ...原创 2019-01-01 13:34:15 · 443 阅读 · 1 评论 -
习题4-5 换硬币 (20 分)
将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?输入格式:输入在一行中给出待换的零钱数额x∈(8,100)。输出格式:要求按5分、2分和1分硬币的数量依次从大到小的顺序,输出各种换法。每行输出一种换法,格式为:“fen5:5分硬币数量, fen2:2分硬币数量, fen1:1分硬币数量, total:硬币总数量”。最后一行输出“count = 换法个数”。...原创 2018-12-28 22:37:22 · 1711 阅读 · 2 评论 -
数字金字塔
#include&amp;lt;stdio.h&amp;gt;void pyramid(int n);//n可以被省略主要是准备一个int房间。int main(){pyramid (5);return 0;}void pyramid(int n)//无需返回值所以用void。{int i,j;for(i=1;i&amp;lt;=n;i++){for(j=1;j&amp;lt;=n-i;j++)//循原创 2018-12-23 13:09:21 · 263 阅读 · 0 评论 -
矩形转置
#include&amp;amp;lt;stdio.h&amp;amp;gt;int main(){int n,j,i,t;scanf(&amp;quot;%d&amp;quot;,&amp;amp;amp;n);int a[n][n];for(i=0;i&amp;amp;lt;n;i++)for(j=0;j&amp;amp;lt;n;j++){scanf(&a原创 2018-12-17 22:30:12 · 1331 阅读 · 0 评论 -
从两个数组中找不同元素
#include&amp;lt;stdio.h&amp;gt;int main(){int a[10],b[10],i,j,n,m,k;scanf(&quot;%d&quot;,&amp;amp;n); for(i=0;i&amp;lt;n;i++) scanf(&quot;%d&quot;,a[i]); scanf(&quot;%d&am原创 2018-12-22 20:00:02 · 2256 阅读 · 3 评论 -
调整数组排列循序
输入:61 2 3 4 5 63输出:4 5 6 1 2 3#include&lt;stdio.h&gt;int main(){int a[80],b[80],n,m,i,j,w,r; printf("enter");scanf("%d",&amp;n);for(i=0;i&lt;n;i++)scanf("%d&原创 2018-12-22 08:38:17 · 139 阅读 · 0 评论 -
找鞍点二维数组
输入 :3 31 2 34 5 67 8 9输出:Array[0][2]=3#include&amp;lt;stdio.h&amp;gt;int main(){int n,m,i,j,k,max=0,flage=1;scanf(&quot;%d%d&quot;,&amp;amp;m,&amp;amp;n);int a[m][n];for(i=0;i&amp;原创 2018-12-21 18:27:25 · 321 阅读 · 0 评论 -
杨辉三角 二维数组
输入 :9输出:11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 11 6 15 20 15 6 11 7 21 35 35 21 7 11 8 28 56 70 56 28 8 1#include&amp;lt;stdio.h&amp;gt;int main(){int n,i,j;while(scanf(&quot;%d&quot;,&amp;a原创 2018-12-21 17:51:13 · 1378 阅读 · 0 评论 -
循环 调用函数综合习题
#include&amp;lt;stdio.h&amp;gt;#include&amp;lt;math.h&amp;gt;double funcos(double e,double x);//形参可以省略。int main(){double w,x,e;printf(“enter e,x:”);scanf(&quot;%lf%lf&quot;,&amp;amp;e,&原创 2018-12-16 17:37:24 · 196 阅读 · 1 评论 -
习题4-6 水仙花数 (20 分)
水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。 本题要求编写程序,计算所有N位水仙花数。输入格式:输入在一行中给出一个正整数N(3≤N≤7)。输出格式:按递增顺序输出所有N位水仙花数,每个数字占一行。输入样例:3输出样例:153370371407#include&lt;stdio.h&gt;#include&lt;math.h&gt;...原创 2018-12-29 12:43:23 · 892 阅读 · 0 评论 -
静态变量解析与试题
//运用调用函数返回每个值。#include&amp;lt;stdio.h&amp;gt;#include&amp;lt;math.h&amp;gt;int fn(int a,int n);int main(){int n,a,sum=0,i;scanf(&quot;%d%d&quot;, &amp;amp;a,&amp;amp;n);for(i=1原创 2018-12-18 19:57:58 · 338 阅读 · 0 评论 -
练习7-4 找出不是两个数组共有的元素 (20 分)(灵活运用flage作为判断条件)
给定两个整型数组,本题要求找出不是两者共有的元素。输入格式:输入分别在两行中给出两个整型数组,每行先给出正整数N(≤20),随后是N个整数,其间以空格分隔。输出格式:在一行中按照数字给出的顺序输出不是两数组共有的元素,数字间以空格分隔,但行末不得有多余的空格。题目保证至少存在一个这样的数字。同一数字不重复输出。输入样例:10 3 -5 2 8 0 3 5 -15 9 10011 6 ...原创 2019-01-01 10:23:08 · 259 阅读 · 0 评论 -
习题5-6 使用函数输出水仙花数 (20 分)
水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身. 。 本题要求编写两个函数,一个判断给定整数是否水仙花数,另一个按从小到大的顺序打印出给定区间(m,n)内所有的水仙花数。函数接口定义:int narcissistic( int number );void PrintN( int m, int n );函数narcissistic判断number是否为水...原创 2019-01-10 17:46:46 · 1558 阅读 · 0 评论 -
习题6-8 统计一行文本的单词个数 (15 分)
本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。输入格式:输入给出一行字符。输出格式:在一行中输出单词个数。输入样例:Let’s go to room 209.输出样例:5#include<stdio.h>#include<string.h>int main(){ int s...原创 2018-12-31 10:21:18 · 454 阅读 · 0 评论 -
习题6-7 简单计算器 (20 分)
模拟简单运算器的工作。假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算。输入格式:输入在一行中给出一个四则运算算式,没有空格,且至少有一个操作数。遇等号”=”说明输入结束。输出格式:在一行中输出算式的运算结果,或者如果除法分母为0或有非法运算符,则输出错误信息“ERROR”。输入样例:1+2*10-10/2=输出样例:10找规律,...原创 2018-12-31 08:18:24 · 391 阅读 · 0 评论 -
出租车计价
本题要求根据某城市普通出租车收费标准编写程序进行车费计算。具体标准如下:起步里程为3公里,起步费10元;超起步里程后10公里内,每公里2元;超过10公里以上的部分加收50%的回空补贴费,即每公里3元;营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)。#include<stdio.h>int main(){ double n, sum; ...原创 2018-12-25 15:40:03 · 3334 阅读 · 0 评论 -
习题4-11 兔子繁衍问题 (15 分)(递归算法)(数组算法)
一对兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。假如兔子都不死,请问第1个月出生的一对兔子,至少需要繁衍到第几个月时兔子总数才可以达到N对?输入格式:输入在一行中给出一个不超过10000的正整数N。输出格式:在一行中输出兔子总数达到N对最少需要的月数。输入样例:30输出样例:9兔子两个月后就可以生一对(第一对兔子在第三个月时已经生了一对了)...原创 2018-12-30 16:20:18 · 1801 阅读 · 0 评论 -
习题4-9 打印菱形图案 (15 分)
本题要求编写程序,打印一个高度为n的、由“*”组成的正菱形图案。输入格式:输入在一行中给出一个正的奇数n。输出格式:输出由n行星号“*”组成的菱形,如样例所示。每个星号后跟一个空格。#include<stdio.h>int main(){ int n,j,i,m; scanf("%d",&n); if(n%2==0) { m=n/2; for(i=...原创 2018-12-30 09:19:35 · 327 阅读 · 0 评论 -
递归与开根号运算
#include&amp;lt;stdio.h&amp;gt;#include&amp;lt;math.h&amp;gt;double f(double n,double x);int main(){double x,sum,n,i;scanf(&quot;%lf%lf&quot;,&amp;amp;x,&amp;amp;n);sum=f(n,x);原创 2018-12-18 20:06:51 · 1820 阅读 · 0 评论