自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 问答 (1)
  • 收藏
  • 关注

转载 6-5 链式表操作集 (20分)

本题要求实现链式表的操作集。函数接口定义:Position Find( List L, ElementType X );List Insert( List L, ElementType X, Position P );List Delete( List L, Position P );其中List结构定义如下:typedef struct LNode *PtrToLNode;struct LNode {ElementType Data;PtrToLNode Next;};typed

2020-09-14 11:58:02 323

原创 6-2 顺序表操作集 (20分)

本题要求实现顺序表的操作集。函数接口定义:List MakeEmpty(); Position Find( List L, ElementType X );bool Insert( List L, ElementType X, Position P );bool Delete( List L, Position P );其中List结构定义如下:typedef int Position;typedef struct LNode *List;struct LNode { Eleme

2020-08-23 09:55:58 271

原创 6-1 单链表逆转 (20分)

本题要求实现一个函数,将给定的单链表逆转。函数接口定义:List Reverse( List L );其中List结构定义如下:typedef struct Node *PtrToNode;struct Node { ElementType Data; /* 存储结点数据 */ PtrToNode Next; /* 指向下一个结点的指针 */};typedef PtrToNode List; /* 定义单链表类型 */L是给定单链表,函数Reverse要返回被逆转后的链表。裁判

2020-08-23 09:51:06 231

原创 自测-4 Have Fun with Numbers (20分)

Notice that the number 123456789 is a 9-digit number consisting exactly the numbers from 1 to 9, with no duplication. Double it we will obtain 246913578, which happens to be another 9-digit number consisting exactly the numbers from 1 to 9, only in a diffe

2020-08-15 21:52:32 174

原创 浙江大学-PTA-自测-1 打印沙漏 (20分)

本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印。***** *** * ********所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。输入格式:输入在一行给出1个正整数N(≤1000)和一个符号,中间以空格分隔。输出格式:首先打印出由给定符号组成的最大的沙漏形状

2020-08-14 22:46:57 500

原创 习题9-5 通讯录排序 (20分)

输入n个朋友的信息,包括姓名、生日、电话号码,本题要求编写程序,按照年龄从大到小的顺序依次输出通讯录。题目保证所有人的生日均不相同。输入格式:输入第一行给出正整数n(<10)。随后n行,每行按照“姓名 生日 电话号码”的格式给出一位朋友的信息,其中“姓名”是长度不超过10的英文字母组成的字符串,“生日”是yyyymmdd格式的日期,“电话号码”是不超过17位的数字及+、-组成的字符串。输出格式:按照年龄从大到小输出朋友的信息,格式同输出。输入样例:3zhang 19850403 1391

2020-08-13 22:11:49 260

原创 习题9-4 查找书籍 (20分)

给定n本书的名称和定价,本题要求编写程序,查找并输出其中定价最高和最低的书的名称和定价。输入格式:输入第一行给出正整数n(<10),随后给出n本书的信息。每本书在一行中给出书名,即长度不超过30的字符串,随后一行中给出正实数价格。题目保证没有同样价格的书。输出格式:在一行中按照“价格, 书名”的格式先后输出价格最高和最低的书。价格保留2位小数。输入样例:3Programming in C21.5Programming in VB18.5Programming in Delphi

2020-08-12 22:10:06 238

原创 习题6-8 统计一行文本的单词个数 (15分)

本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。输入格式:输入给出一行字符。输出格式:在一行中输出单词个数。输入样例:Let's go to room 209.输出样例:5代码如下:int main(){ char w[10000]; int i,count=0,t1=0,t2=0; gets(w); for(i=0;w[i]!='\0';i++){ t1=t2;

2020-08-08 16:08:47 161

原创 习题6-7 简单计算器

模拟简单运算器的工作。假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算。输入格式输入在一行中给出一个四则运算算式,没有空格,且至少有一个操作数。遇等号”=”说明输入结束。输出格式:在一行中输出算式的运算结果,或者如果除法分母为0或有非法运算符,则输出错误信息“ERROR”。输入样例:1+2*10-10/2=输出样例:10代码如下:#include<stdio.h>int main(){ int i,sum,flag=0

2020-08-08 15:59:53 169

原创 习题4-11 兔子繁衍问题 (15分)

一对兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。假如兔子都不死,请问第1个月出生的一对兔子,至少需要繁衍到第几个月时兔子总数才可以达到N对?**输入格式:输入在一行中给出一个不超过10000的正整数N。输出格式:在一行中输出兔子总数达到N最少需要的月数。输入样例:30输出样例:9经过分析可知该题就是斐波那契数列问题,第一个月为1只兔子,第二个月为1只兔子,从第三个月开始,该月的兔子数为前两个月兔子的和**代码如下:#include&

2020-08-08 15:53:48 437

原创 习题4-9 打印菱形图案 (15分)

本题要求编写程序,打印一个高度为n的、由“*”组成的正菱形图案。输入格式:输入在一行中给出一个正的奇数n。输出格式:输出由n行星号“*”组成的菱形,如样例所示。每个星号后跟一个空格。输入样例:7输出样例: * * * * * * * * * * * * * * * * * * * * * * * * * 代码如下:#include<stdio.h>int main(){ int a[5

2020-08-06 14:29:16 244

原创 习题4-10 猴子吃桃问题 (15分)

一只猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个;第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半加一个。到第N天早上想再吃时,见只剩下一个桃子了。问:第一天共摘了多少个桃子?输入格式:输入在一行中给出正整数N(1<N≤10)。输出格式:3输出样例:10代码如下:#include<stdio.h>int main(){ int i,n,t=1,m; scanf("%d",&n); for(i=1;i

2020-08-06 14:23:06 161

原创 习题4-7 最大公约数和最小公倍数 (15分)

本题要求两个给定正整数的最大公约数和最小公倍数。输入格式:输入在一行中给出两个正整数M和N(≤1000)。输出格式:在一行中顺序输出M和N的最大公约数和最小公倍数,两数字间以1空格分隔。输入样例:511 292输出样例:73 2044代码如下:#include<stdio.h>int main(){ int n,m,temp,i; scanf("%d%d",&n,&m); if(m<n){ temp=m; m=n; n=tem

2020-08-06 12:25:44 145

原创 习题4-6 水仙花数 (20分)

水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=13​​+53+3**3。本题要求编写程序,计算所有N位水仙花数。输入格式:输入在一行中给出一个正整数N(3≤N≤7)。输出格式:按递增顺序输出所有N位水仙花数,每个数字占一行。输入样例:3输出样例:153370371407代码如下:#include<stdio.h>int p(int a,int b){ int i,s=1; for(i=1;i<=b;i+

2020-08-06 12:19:19 235

原创 习题4-5 换硬币 (20分)

将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?输入格式:输入在一行中给出待换的零钱数额x∈(8,100)。输出格式:13输出样例:fen5:2, fen2:1, fen1:1, total:4fen5:1, fen2:3, fen1:2, total:6fen5:1, fen2:2, fen1:4, total:7fen5:1, fen2:1, fen1:6, total:8count = 4代码如下:#include<stdio.h&

2020-08-06 12:11:40 321

原创 习题11-7 奇数值结点链表 (20分)

无头节点(本题答案)**无头节点**(本题答案)struct ListNode *readlist(){ int data; struct ListNode *head=NULL; //头节点为空 struct ListNode *p; while(scanf("%d",&data)&&data!=-1) { struct ListNode *q=(struct ListNode*)malloc(..

2020-08-03 17:44:30 333

原创 习题11-8 单链表结点删除 (20分)

本题要求实现两个函数,分别将读入的数据存储为单链表、将链表中所有存储了某给定值的结点删除。链表结点定义如下:struct ListNode *readlist(){ struct ListNode *p,*q,*head=NULL; int data; while(scanf("%d",&data)&&data!=-1){ p=(struct ListNode *)malloc(sizeof(struct ListNode)); p->data=data;

2020-08-03 17:34:27 230

原创 习题11-6 查找子串 (20分)

本题要求实现一个字符串查找的简单函数**方法一**:char *search(char *s, char *t){ int i,j,flag=0; i=j=0; char *p; while(t[j]!='\0'&&s[i]!='\0'){ //循环结束的条件 if(s[i]==t[j]&&flag==0){ //第一次找到第一个与s[]相同的字符 flag=1; p=&s[i]; //p指向子串t在s中的首

2020-08-02 09:02:11 2785 4

原创 习题11-5 指定位置输出字符串 (20分)

本题要求实现一个函数,对给定的一个字符串和两个字符,打印出给定字符串中从与第一个字符匹配的位置开始到与第二个字符匹配的位置之间的所有字符。关于这题以下会给出三种解题思路**第一种方法**char *match( char *s, char ch1, char ch2 ){ int i,flag=0; char *ch; for(i=0;s[i]!='\0';i++){ if(s[i]==ch1&&flag==0){ //第一次找到第一个字符匹配的位置时开始,第二次在遇到

2020-08-01 17:30:31 563 2

原创 习题11-2 查找星期 (15分)

本题要求实现函数,可以根据下表查找到星期,返回对应的序号。关于这道题以下给出了三种解题方案**第一种方法**int getindex(char *s){ int i; i=strlen(s); if(s[0]=='S') return 0; else if(s[0]=='M') return 1; else if(s[0]=='T'&&i==7) return 2; else if(s[0]=='W') return 3; else if(s

2020-08-01 11:11:06 8965 4

原创 习题10-4 递归求简单交错幂级数的部分和

#include <stdio.h>#include<math.h> double fn( double x, int n );int main(){ double x; int n; scanf("%lf %d", &x, &n); printf("%.2f\n", fn(x,n)); return 0;}double fn( double x, int n ){ double sum=0; if(n==1..

2020-07-28 23:10:29 343

原创 习题10-5 递归计算Ackermenn函数

本题要求实现Ackermenn函数的计算,其函数定义如下:int Ack(int m,int n){ int sum; if(m==0) return n+1; else if(n==0&&m>0) sum=Ack(m-1,1); //将所得到的值赋值给sum; else if(m>0&&n>0) return Ack(m-1,Ack(m,n-1)); return sum;}如果对你有帮助的话,记得点个赞嗷!!!

2020-07-28 23:06:04 296

原创 习题10-2 递归求阶乘和 (15分)

本题要求实现一个计算非负整数阶乘的简单函数,并利用该函数求 1!+2!+3!+…+n! 的值。double fact( int n ){ if(n==1||n==0) return 1; else return n*fact(n-1);}double factsum( int n ){ double sum=0; int temp; temp=fact(n); while(n--){ sum+=temp; temp=temp/(n+1); } return su

2020-07-28 17:01:35 290

原创 习题9-6 按等级统计学生成绩 (20分)

本题要求实现一个根据学生成绩设置其等级,并统计不及格人数的简单函数如果对你有帮助的话,记得点个赞哦!!!

2020-07-28 16:40:04 584

原创 习题10-1 判断满足条件的三位数 (15分)

本题要求实现一个函数,统计给定区间内的三位数中有两位数字相同的完全平方数(如144、676)的个数 int search( int n ){ int i,temp,count=0,j,k,l; for(i=101;i<=n;i++){ temp=sqrt(i); j=i%10; //个位上的数 k=i/10%10; //十位上的数 l=i/100; //百位上的数 if(temp*temp==i &&(j==k ||

2020-07-28 16:35:46 361

原创 习题8-4 报数 (20分)

报数游戏是这样的:有n个人围成一圈,按顺序从1到n编好号。从第一个人开始报数,报到m(<n)的人退出圈子;下一个人从1开始报数,报到m的人退出圈子。如此下去,直到留下最后一个人。本题要求编写函数,给出每个人的退出顺序编号。void CountOff( int n, int m, int out[] ){ int a[MAXN],i,k,count=0; for(i=0;i<n;i++) a[i]=i+1; i=k=0; while(count<n){ //count

2020-07-21 22:56:21 407

原创 练习8-8 移动字母 (10分)

本题要求编写函数,将输入字符串的前3个字符移到最后。方法一:void Shift( char s[] ){ int i,j=0; char t[MAXS]; j=strlen(s); for(i=0;i<j-3;i++) t[i]=s[i+3]; for(i=0;i<3;i++) t[j-3+i]=s[i]; for(i=0;i<j;i++) s[i]=t[i]; }思路:将s[]的第三个后面的字符依次赋值给t[];然后再将将三个字符依次存放在t[

2020-07-21 16:17:25 659

原创 习题6-4 使用函数输出指定范围内的Fibonacci数 (20分)

习题6-4 使用函数输出指定范围内的Fibonacci数本题要求实现一个计算Fibonacci数的简单函数,并利用其实现另一个函数,输出两正整数m和n(0<m≤n≤10000)之间的所有Fibonacci数。所谓Fibonacci数列就是满足任一项数字是前两项的和(最开始两项均定义为1)的数列。#include <stdio.h>int fib( int n );void PrintFN( int m, int n ); int main(){ int m, n, t

2020-07-20 16:41:04 2070

原创 习题6-3 使用函数输出指定范围内的完数 (20分)

习题6-3 使用函数输出指定范围内的完数要求: 实现一个计算整数因子和的简单函数,并利用其实现另一个函数,输出两正整数m和n(0<m≤n≤10000)之间的所有完数。所谓完数就是该数恰好等于除自身外的因子之和。例如:6=1+2+3,其中1、2、3为6的因子。在这里插入代码片```#include <stdio.h>int factorsum( int number );void PrintPN( int m, int n ); int main(){ int i,

2020-07-20 11:32:06 620

原创 习题5-6 使用函数输出水仙花数

题目: 水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=13​​ + 53 + 33​​ 。 本题要求编写两个函数,一个判断给定整数是否水仙花数,另一个按从小到大的顺序打印出给定区间(m,n)内所有的水仙花数**在这里插入代码片```int narcissistic( int number ){ int i,j,k,r; i=number%10; j=number/10%10; k=number/100%10; if(number/1000==0

2020-07-15 17:32:08 449

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除