C语言
小残梦
已经投资了什么并不重要,重要的是现在的形势以及你对未来的评估
展开
-
有理数四则运算(20)
时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小)题目描述本题要求编写程序,计算2个有理数的和、差、积、商。输入描述:输入在一行中按照“a1/b1 a2/b2”的格式给出两个分数形式的有理数,其中分子和分母全是整型范围内的整数,负号只可能出现在分子前,分母不为0。输出描述:分别在4行中按照“有理数1 运算符 ...原创 2019-01-23 14:52:25 · 799 阅读 · 0 评论 -
德才论
题目描述宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。”现给出一批考生的德才分数,请根据司马光的理论给出录取排名。输入描述:输入第1行给出3个正整数,分别为:N(<=105),即考生总数;L(>=60),为录取最低分数线,即德分和才分...原创 2018-12-27 21:05:14 · 1390 阅读 · 1 评论 -
指针12 返回指针的函数
函数调用结束后,可以返回一个值给主函数,这个值可以是整型、实型、字符型等基本类型数据,也可以是指针,即地址。例如题目:编写str_chr函数,其功能是在一个字符串中查找一个指定字符,找到后返回该字符的地址,若未找到则返回空指针。在main函数中调用str_chr 函数,查找字符‘e’在字符串“How are you!”中的地址以及相对位置,并输出。代码如下#include<std...原创 2018-12-17 14:20:20 · 482 阅读 · 0 评论 -
指针11 指针作函数的参数2
例题 应用函数和指针,求一维数组中所有元素的平均值、最大值和最小值。原创 2018-12-17 14:04:18 · 321 阅读 · 0 评论 -
指针11 指针作函数的参数1
函数的参数不仅可以是整型,实型,字符型等基本数据类型的数据,还可以是指针类型数据。指针做函数参数的作用是将一个变量的地址传送到另一个函数中,这样,形参指针就指向了主调函数中的变量,从而可以改变主调函数中变量的值。举例如下题目:输入两个整数,应用指针变量和函数,按从小到大排序输出这两个整数。#include<stdio.h>void swap(int *p1,int *p2)...原创 2018-12-17 13:03:08 · 199 阅读 · 0 评论 -
指针10(字符指针做函数参数)
这几天争取把指针搞完。。。将字符串从一个函数传递到另一个函数,可以用字符数组名作为实参,还可以用字符指针作实参,将字符串的首地址传递到另一个函数中。例如题目 应用字符指针和函数,求一个字符串的长度。p.s.实际上就是strlen()函数代码如下#include<stdio.h>int string_len(char*s){int i=0;while(*s){i+...原创 2018-12-17 12:28:51 · 1370 阅读 · 0 评论 -
指针18( 指针与结构体类型2--指向结构体数组的指针上)
指针可以处理数组或数组元素,指向结构体类型的指针也可以处理结构体数组及元素例 用指向结构体的指针变量输出结构体数组的元素。#include&lt;stdio.h&gt;struct student{long num; char name[15]; char sex; float score;};struct student s[4]={ {97015,"WangFang"...原创 2018-12-21 22:52:32 · 216 阅读 · 0 评论 -
指针17( 指针与结构体类型1--指向结构体变量的指针)
p.s.这几天加把劲,先把指针系列的例题搞定。。。一个结构体变量的各个成员按照定义是的顺序,在内存中占用一段连续的存储单元,这段存储单元的首地址就是该结构体的变量的指针。可以定义一个指针变量,用来指向一个结构体变量,这样的指针变量被称为结构体指针变量。结构体指针变量也可以用来指向结构体中的元素。#include<stdio.h>#include<string.h>...原创 2018-12-21 22:27:16 · 632 阅读 · 0 评论 -
指针习题4(楼主力荐)
4,有n个整数,使前面个数顺序向后移m个位置,最后m个数变成最前面m个数,见下图。写一函数实现以上功能,在主函数中输入n个整数和输出调整后的n个整数。最好自己尝试一下。。。要用指针实现,,,楼主的代码...原创 2018-12-10 22:46:26 · 141 阅读 · 1 评论 -
拷贝函数memcpy
memcpy内存拷贝函数,本篇就是个笔记而已。。。拷贝数组例#include<stdio.h>#include<string.h>int main(){int a[3]={1,2,3}; int b[3],i; memcpy(b,a,sizeof(int)*3); for(i=0;i<3;i++) {printf("%d ",b[i]); }...原创 2018-12-10 22:07:16 · 518 阅读 · 0 评论 -
指针习题8(答案版)
链接 题目及楼主的方法答案的代码#include<stdio.h>int main(){int upper=0,lower=0,digit=0,space=0,other=0,i=0; char *p,s[20]; printf("input string: "); while((s[i]=getchar())!='\n') {i++;} p=&s[0];...原创 2018-12-16 18:52:41 · 499 阅读 · 0 评论 -
指针习题7答案版
链接 题目及楼主的方法答案的代码#include<stdio.h>#include<string.h>int main(){void copystr(char*,char*,int);int m;char str1[20],str2[20];printf("input string:");gets(str1);printf("which charact...原创 2018-12-16 11:59:30 · 451 阅读 · 0 评论 -
指针习题9
题目:写一函数,将一个3*3的整型矩阵转置。楼主第一眼看到此题 心情如下什么是矩阵转置说白了不就是行列换一下吗?不多废话了,,,代码如下...原创 2018-12-16 11:27:25 · 506 阅读 · 0 评论 -
指针习题
3,输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写3个函数:1)输入10个数;2)进行处理;3)输出10个数。用指针方法处理楼主的代码#include&lt;stdio.h&gt;int *p,s[10],*p1;void input(int *p){int i=0; printf("please input 10 numbers:\n"); fo...原创 2018-12-10 13:14:50 · 563 阅读 · 0 评论 -
指针习题8
题目:输入一行文字,找出其中大写字母、小写字母、空格、数字以及其他字符个有多少。p.s.一定要用指针的方法。。。题目很简单,而且相信以前大家都写过,楼主只是提醒一点:注意初始化代码#include<stdio.h>int main(){char str[80]; int i,m=0,n=0,k=0,x=0,j=0 p=str; for(i=0;*(p+i)...原创 2018-12-15 17:40:08 · 438 阅读 · 0 评论 -
指针18( 指针与结构体类型2--指向结构体数组的指针下)
例题 有5个学生,每个学生包括学号、姓名、成绩等数据。要求对这5个学生的学号、姓名及成绩按成绩由大到小排序输出。原创 2018-12-22 21:59:15 · 307 阅读 · 0 评论 -
指针19 用指向结构体的指针做函数参数
例题 有一个结构变量s,含有学号、姓名、性别和成绩4 个成员,要求在main函数中输入结构体变量成员的数值,在另一个函数中输出结构体变量成员的数值。代码#include<stdio.h>struct student{long num; char name[15]; char sex; float score;};int main(){void print(stru...原创 2018-12-22 22:20:39 · 740 阅读 · 0 评论 -
统计同成绩学生
本题要求读入N名学生的成绩,将获得某一给定分数的学生人数输出。输入描述:输入在第1行给出不超过105的正整数N,即学生总人数。随后1行给出N名学生的百分制整数成绩,中间以空格分隔。最后1行给出要查询的分数个数K(不超过N的正整数),随后是K个分数,中间以空格分隔。输出描述:在一行中按查询顺序给出得分等于指定分数的学生人数,中间以空格分隔,但行末不得有多余空格。示例1输入1060...原创 2019-01-15 13:11:51 · 229 阅读 · 1 评论 -
旧键盘
题目描述旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。输入描述:输入在2行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过80个字符的串,由字母A-Z(包括大、小写)、数字0-9、以及下划线“_”(代表空格)组成。题目保证2个字符串均非空。输出描述:按照发现顺序,在一行中...原创 2019-01-09 14:03:17 · 353 阅读 · 0 评论 -
在霍格沃茨找零钱
如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 —— 就如海格告诉哈利的:“十七个银西可(Sickle)兑一个加隆(Galleon),二十九个纳特(Knut)兑一个西可,很容易。”现在,给定哈利应付的价钱P和他实付的钱A,你的任务是写一个程序来计算他应该被找的零钱。输入描述:输入在1行中分别给出P和A,格式为“Galleon.Sickle.Knut”,其间用1个空格分隔。这里Ga...原创 2019-01-14 15:25:15 · 180 阅读 · 0 评论 -
旧键盘打字
旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及坏掉的那些键,打出的结果文字会是怎样?输入描述:输入在2行中分别给出坏掉的那些键、以及应该输入的文字。其中对应英文字母的坏键以大写给出;每段文字是不超过10^5个字符的串。可用的字符包括字母[a-z, A-Z]、数字0-9、以及下划线“_”(代表空格)、“,”、“.”、“-”、“+”(代表上档键...原创 2019-01-13 16:29:18 · 381 阅读 · 0 评论 -
正方形
输入描述:输入在一行中给出正方形边长N(3<=N<=20)和组成正方形边的某种字符C,间隔一个空格。输出描述:输出由给定字符C画出的正方形。但是注意到行间距比列间距大,所以为了让结果看上去更像正方形,我们输出的行数实际上是列数的50%(四舍五入取整)。#include<stdio.h>int main(){int n,i,k,j; char c; scan...原创 2019-01-07 18:09:03 · 1380 阅读 · 0 评论 -
巧用数组
题目描述为了用事实说明挖掘机技术到底哪家强,PAT组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。输入描述:输入在第1行给出不超过105的正整数N,即参赛人数。随后N行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号、及其比赛成绩(百分制),中间以空格分隔。输出描述:在一行中给出总得分最高的学校的编号、及其总分,中间以空格分隔。题目保证答案唯一,没有并列...原创 2019-01-12 12:11:37 · 161 阅读 · 0 评论 -
月饼
题目描述月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有3种月饼,其库存量分别为18、15、10万吨,总售价分别为75、72、45亿元。如果市场的最大需求量只有20万吨,那么我们最大收益策略应该是卖出全部...原创 2019-01-02 18:42:58 · 98 阅读 · 0 评论 -
指针习题11
题目:在主函数中输入10个等长的字符串。用另一函数对它们排序。然后在主函数输出这10个已排好序的字符串。第一种方法用字符型二维数组#include&lt;stdio.h&gt;#include&lt;string.h&gt;int main(){void sort(char s[][6]); int i; char str[10][6]; //p是指向6个元素组成的一维...原创 2018-12-25 15:09:50 · 229 阅读 · 0 评论 -
指针习题10(答案版)
感觉接下来的几道指针习题的难度上来了,楼主已经搞不出来了,,,所以第11题(下一篇)改为研究答案了。。。链接 题目和楼主的方法答案的方法代码在这里插入代码片...原创 2018-12-25 07:37:37 · 193 阅读 · 0 评论 -
指针习题10
题目:将一个5*5的矩阵中最大的元素放在中心,4个角分别放4个最小的元素(顺序为从左到右,从上到下依次从小到大存放),写一函数实现之。用main函数调用。有几天没写C了,有点忙,快要考试了,也正在学python和链码原创 2018-12-18 20:35:07 · 199 阅读 · 0 评论 -
指针21 动态存储分配简下
free ()函数(1)格式#include&lt;stdlib.h&gt;void free(void *ptr);(2) 功能该函数向堆函数交还由ptr所指向的储存空间,该存储空间必须是先前用malloc函数分配的空间,否则会产生致命错误。交还到堆中的内存空间可以再次进行分配使用。(3)参数说明ptr:指出要交还(释放)的空间的首地址(4)返回值 :无例如#include...原创 2018-12-23 10:40:42 · 146 阅读 · 0 评论 -
指针20 动态存储分配简上
归纳前面各章节讨论的各种变量,它们的存储分配技术共有两种。第一种是静态分配技术,如全局变量和静态变量,它们在编译时由系统为其分配所需空间,而且在运行期间始终保持不变;第二种是动态存储分配,如局部变量,它们在程序运行期间,由系统在运行栈为其分配所需要的内存空间,这些内存空间被使用完毕后,立即被释放。动态存储分配是在程序运行期间,根据需要随时为某种数据结构分配所需要的内存空间,当...原创 2018-12-23 10:29:09 · 137 阅读 · 0 评论 -
指针9(指针与字符串)
例题应用字符指针,将字符串“How are you!”从a数组复制到b数组。#include<stdio.h>int main(){char a[]="How are you!",b[20]; char *s1,*s2; s1=a; s2=b; while(*s1!=NULL) {*s2=*s1; s1++; s2++; } *s2=NULL; prin...原创 2018-12-11 20:13:48 · 146 阅读 · 0 评论 -
指针习题4(答案版)
答案和楼主的代码各有千秋吧题目及楼主的代码答案的代码#include<stdio.h>int main(){void move(int [20],int ,int );int number[20],n,m,i;printf("how many numbers?");// 问共有多少个数 scanf("%d",&n);printf("input %d numbe...原创 2018-12-11 19:44:44 · 251 阅读 · 0 评论 -
指针习题7
题目:有一字符串,包含n个字符。写一函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串。此题要求编写的函数有些像strncpy函数,不过,无所谓了,,,并不难,楼主的代码如下#include<stdio.h>int main(){char str[80],str1[80]; void getn(char *p1,char*p2,int m); int ...原创 2018-12-15 17:06:35 · 197 阅读 · 0 评论 -
指针16(指向指针的指针)
指针不仅可以指向整型数据,字符型数据,数组以及函数,还可以指向指针变量,将指向指针变量的指针称为指向指针的指针。p.s.类型标识符 **指针变量名例如 char **p注意,由于*运算符的结合方向是自右向左,因此“char **p”相当于“char *(*p)”例题:代码如下#include&amp;lt;stdio.h&amp;gt;int main(){char *fruit[...原创 2018-12-20 18:29:13 · 893 阅读 · 0 评论 -
指针1
今天开始,楼主就开始学习指针了,指针是C里最难的部分了,可也是C的精华,不多废话了。。。让我们开始。。。p.s.以下的概念随处都有,可是并不容易理解,因此楼主尽可能用我们小白可以理解的方式表达(前提是楼主理解的情况下)1.地址 说白了就是住的地方。。。众所周知,计算机是有内存区的(原来楼主还傻傻的分不清内存和硬盘)。。。内存区好比是一个小区,小区里每栋楼每户都是有编号的,计算机里的地址也一...原创 2018-12-06 14:12:50 · 116 阅读 · 0 评论 -
指针习题6(答案版)
题目及楼主的方法答案的代码#include<stdio.h>int main(){int length(char *p); int len; char str[20]; printf("input string: "); scanf("%s",str); len=length(str); printf("The length of string is %d.\n"...原创 2018-12-12 21:21:46 · 408 阅读 · 0 评论 -
指针习题6
6.写一函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度。#include&lt;stdio.h&gt;int n; int main(){char s[80];void length(char*p); printf("please enter array:\n"); gets(s); length(s); printf("The length of this ...原创 2018-12-12 21:13:17 · 204 阅读 · 0 评论 -
指针习题5(答案版)
题目及楼主的方法只能说答案就是答案,只能说太漂亮了,代码#include<stdio.h>int main(){int i,k,m,n,num[50],*p; printf("\ninput number of person:n="); scanf("%d",&n); p=num; for(i=0;i<n;i++) {*(p+i)=i+1; //以1...原创 2018-12-12 17:04:51 · 253 阅读 · 0 评论 -
指针习题5 (有点意思的题目)
#include&amp;amp;amp;lt;stdio.h&amp;amp;amp;gt;int main(){int n,i,j,k=1,m=0,x=1,y=0; printf(&amp;amp;quot;please intput n:&amp;amp;quot;); scanf(&amp;amp;quot;%d&amp;amp;quot;,&amp;amp;amp;amp;n);原创 2018-12-12 16:35:20 · 233 阅读 · 0 评论 -
一道关于树的数组题。。。
题目有点长,直接给图片了。。。有兴趣的可以自己先尝试一下,原创 2018-12-05 17:27:13 · 164 阅读 · 0 评论 -
指针7(指针与二维数组)
先来道例题#include<stdio.h>int main(){int a[3][4]={{0,1,2,3},{10,11,12,13},{20,21,22,23}}; int *p,i,j; p=&a[0][0]; printf("\n"); for(i=0;i<3;i++) {for(j=0;j<4;j++) {printf("%4d",...原创 2018-12-08 15:49:16 · 321 阅读 · 0 评论