收藏 分销(赏)

Anyview题库:C程序设计6-11章.doc

上传人:xrp****65 文档编号:5881199 上传时间:2024-11-22 格式:DOC 页数:11 大小:93KB 下载积分:10 金币
下载 相关 举报
Anyview题库:C程序设计6-11章.doc_第1页
第1页 / 共11页
Anyview题库:C程序设计6-11章.doc_第2页
第2页 / 共11页


点击查看更多>>
资源描述
编程作业系统AnyviewC —— 支持可视化运行调试 Anyview题库:C程序设计 72题(2011-6-8) 第6章 循环、序列求和(4/27题) 6.020 n和s是系统给定的外部整型变量(不需要自行定义)。编写程序,求1到n之间的整数之和,并将结果存放到s。 6.022 n是系统给定的外部变量。编写程序,求1到n间的自然数之和。请定义局部变量s存放求和的结果,并用下列语句输出结果 printf("1+2+...+n=%d\n",s); 6.026 n和s是系统给定的外部整型变量(不需要自行定义)。编写程序,求1到n之间的奇数之和,并将结果存放到s。 6.028 n和s是系统给定的外部整型变量(不需要自行定义)。编写程序,求1到n之间的偶数之和,并将结果存放到s。 6.030 系统给定外部整型变量n和长整型变量f(不需要自行定义)。编写程序,求n的阶乘n!,并将结果存放到f。 例如,当n=6时,f=6!=1*2*...*6=720。注意:0!=1。 6.032 系统给定外部整型变量n和长整型变量f(不需要自行定义)。编写程序,求n的双阶乘n!!,并将结果存放到f。双阶乘的定义是: 当n是奇数时,n!为不大于n的所有奇数的乘积,如:7!!=1×3×5×7。 当n为偶数时表示不大于n的所有偶数的乘积(0除外),如:8!!=2×4×6×8。 6.034 系统给定外部整型变量n和浮点变量f(不需要自行定义)。编写程序,求负整数n的阶乘n!,并将结果存放到f。假设m是正整数,负整数-m的阶乘定义是:(-m)!=1/(m+1)!。 6.040 m,n和s是系统定义的外部整型变量(不需要自行定义)。编写程序,根据m的值求满足1+2+...+n>=m的最小n,并将1+2+...+n的结果存放到s。例如,若m=50,则n=10,s=55。 6.042 m,n和s是系统定义的外部整型变量(不需要自行定义)。编写程序,根据m的值求满足1+2+...+n<m的最大n,并将1+2+...+n的结果存放到s。例如,若m=50,则n=9,s=45。 6.050 n和s是系统给定的外部整型变量(不需要自行定义)。编写程序,求1+1/2+1/3+...+1/n,并将结果存放到s。 6.051 系统给定外部整型变量n和浮点型变量s(不需要自行定义)。编写程序,求1-1/2+1/3-1/4+...1/n,并将结果存放到s。 6.053 系统给定外部整型变量n和浮点型变量s(不需要自行定义)。编写程序,求1+1/(1+2)+1/(1+2+3)+...+1/(1+2+...+n),并将结果存放到s。 6.055 系统给定外部整型变量n和浮点型变量pi(不需要自行定义)。编写程序,求序列4,-4/3,4/5,-4/7,4/9,-4/11...的前n项和,并将结果存放到pi。 6.056 系统给定外部整型变量n和浮点型变量pi2(不需要自行定义)。编写程序,求1+1/3+1*2/(3*5)+1*2*3/(3*5*7)+1*2*3*4/(3*5*7*9)+...+1*2*...*n/(3*5*7*...*(2n+1)),并将结果存放到pi2。 6.095 n和s是分别是系统给定的外部整型变量和实型变量(不需要自行定义)。编写程序,求分数序列2/1,3/2,5/3,8/5,13/8,21/13,...的前n项和,并将结果存放到s。 6.161 n和s是分别是系统给定的外部整型变量和长整型变量(不需要自行定义)。编写程序,求1!+2!+3!+4!+5!+…+n!,并将结果存放到s。 6.163 n和e是分别是系统给定的外部整型变量和浮点型变量(不需要自行定义)。编写程序,求1+1/1!+1/2!+1/3!+…+1/n!,并将结果存放到e。 6.165 系统给定外部整型变量n和浮点型变量x和e(不需要自行定义)。编写程序,求1+x/1!+x^2/2!+x^3/3!+…+x^n/n!,并将结果存放到e,其中,^是幂运算,x^2表示x的平方,x^n表示x的n次方。 6.172 系统给定外部长整型变量s,整型变量a和n,且a和n的值均在0和9之间(不需要自行定义)。编写程序,求a+aa+aaa+…+aa…aaa(有n个a)之值,并将结果存放到s。例如:a=3和n=5时,求3+33+333+3333+33333。 6.175 系统给定外部长整型变量s,整型变量a、m和n,1<=a<=9且1<=m<=n<=9(不需要自行定义)。编写程序,求序列a,aa,aaa,…,aa…a(第n项为n个a)中,第m项至第n项之和,并将结果存放到s。例如:当a=8,m=3且n=6时,置s=888+8888+88888+888888。 6.176 系统给定外部长整型变量s,整型变量a、m和k,1<=a<=9,1<=m<=9且m+k<=9(不需要自行定义)。编写程序,求数列a,aa,aaa,…,aa…a,…(第i项为i个a)中,第m项起的k项之和,并将结果存放到s。例如:当a=6,m=4且k=3时,置s=6666+66666+666666。 6.183 系统给定外部长整型变量s和整型变量n,且n的值在0和9之间(不需要自行定义)。编写程序,求1+12+123+…+12…n之值,并将结果存放到s。例如,n=5时,置s=1+12+123+1234+12345。 6.184 系统给定外部长整型变量s和整型变量n,且n的值在0和9之间(不需要自行定义)。编写程序,求1+21+321+…+n…21之值,并将结果存放到s。例如,n=5时,置s=1+21+321+4321+54321。 6.186 系统给定外部长整型变量s,整型变量m和n,且1<=m<=n<=9(不需要自行定义)。编写程序,求12…m+12…(m+1)+…+12…n之值,并将结果存放到s。例如,m=3且n=6时,置s=123+1234+12345+123456。 6.187 系统给定外部长整型变量s,整型变量m和n,且1<=m<=n<=9(不需要自行定义)。编写程序,求m…21+(m+1)…21+…+n…21之值,并将结果存放到s。例如,m=3且n=6时,置s=321+4321+54321+654321。 6.220 系统给定外部字符串s和整型数组c[26](不需要自行定义)。编写程序,将字符串s中26个小写字母出现的次数依次统计到数组c中。例如,当s=“abcijkabcdexyzuvwx”时,数组c的26个元素值依次为:2 2 2 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 2 1 1。 6.221 系统给定外部字符串s和整型数组c[26](不需要自行定义)。编写程序,将字符串s中26个字母(不区分大小写)出现的次数依次统计到数组c中。例如,当s=“AbcijKaBcdEXyzuvwx”时,数组c的26个元素值依次为:2 2 2 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 2 1 1。 第7章 数组(0/3题) 7.110 系统给定外部字符数组变量s和数组长度n(不需要自行定义)。main函数的功能是:把字符串s中所有小写字母转换为大写字母,其他字符不变。例如,当s="68abcdEFGhijkLM86"时,转换后s="68ABCDEFGHIJKLM86"。 请仅在空缺处填入合适内容,使其实现上述功能。 7.120 系统给定外部长整型变量n和字符数组变量s(不需要自行定义)。main函数的功能是:把n的整数值转换成字符串,并逆序保存在s中。例如,当n=20120826时,由n转换得到s="62802102"。 请仅在空缺处填入合适内容,使其实现上述功能。 7.121 系统给定外部长整型变量n和字符数组变量s(不需要自行定义)。main函数的功能是:把n的整数值转换成字符串,并保存在s中。例如,当n=20120826时,由n转换得到s="20120826"。 请仅在空缺处填入合适内容,使其实现上述功能。 第8章 函数、数组(8/15题) 8.010 写一函数求3个整数中最小的数。 要求实现下列函数: int min(int x,int y,int z); 8.020 编写函数,求将整笔钱换为1元、5元和10元的零钱共有多少种换法? 要求实现下列函数: int change(int n); 8.030 先编写一个判断素数的函数。再编写一个函数将一个偶数表示为两个素数之和,并返回其中较小的素数。注:素数指只能被1和自身整除的正整数。规定0,1不是素数。 要求实现下列2个函数: int prime(int n); /* 判断素数,如果是素数返回1,不是素数则返回0 */ int f(int i); /* 将偶数i表示为两个素数之和,返回其中较小的素数*/ 8.050 编写函数,将字符串中ASCII码最小的字符放在第一个字符位置,其余字符依次往后移。 要求实现下列函数: void func(char str[]); 8.060 编写函数将一个nxn的二维数组按“次对角线”翻转。 例如:翻转前的数组 翻转后的数组 1 2 3 9 6 3 4 5 6 ---> 8 5 2 7 8 9 7 4 1 要求实现的函数原型为: void invert(char a[N][N]); 8.064 编写函数将一个NxN的二维数组“水平”翻转。 例如:翻转前的数组 翻转后的数组 1 2 3 7 8 9 4 5 6 ---> 4 5 6 7 8 9 1 2 3 要求实现的函数原型为: void invertH(char a[N][N]); 8.065 编写函数将一个NxN的二维数组“垂直”翻转。 例如:翻转前的数组 翻转后的数组 1 2 3 3 2 1 4 5 6 ---> 6 5 4 7 8 9 9 8 7 要求实现的函数原型为: void invertV(char a[N][N]); 8.067 编写函数将一个NxN的二维数组的周边元素“顺时针”轮转1位。 例如:轮转前的数组 轮转后的数组 1 2 3 4 1 2 4 5 6 ---> 7 5 3 7 8 9 8 9 6 要求实现的函数原型为: void turningClockwise(char a[N][N]); 8.068 编写函数将一个NxN的二维数组的周边元素“逆时针”轮转1位。 例如:轮转前的数组 轮转后的数组 1 2 3 2 3 6 4 5 6 ---> 1 5 9 7 8 9 4 7 8 要求实现的函数原型为: void turningAnticlockwise(char a[N][N]); 8.072 编写函数将一个NxN的二维数组a的元素按行向右轮转1位。 例如:轮转前的数组 轮转后的数组 1 2 3 3 1 2 4 5 6 ---> 6 4 5 7 8 9 9 7 8 要求实现的函数原型为: void turningRight(char a[N][N]); 8.075 编写函数将一个NxN的二维数组a的元素按行向左轮转1位。 例如:轮转前的数组 轮转后的数组 1 2 3 2 3 1 4 5 6 ---> 5 6 4 7 8 9 8 9 7 要求实现的函数原型为: void turningLeft(char a[N][N]); 8.082 编写函数将一个NxN的二维数组a的元素按列向下轮转1位。 例如:轮转前的数组 轮转后的数组 1 2 3 7 8 9 4 5 6 ---> 1 2 3 7 8 9 4 5 6 要求实现的函数原型为: void turningDown(char a[N][N]); 8.085 编写函数将一个NxN的二维数组a的元素按列向上轮转1位。 例如:轮转前的数组 轮转后的数组 1 2 3 4 5 6 4 5 6 ---> 7 8 9 7 8 9 1 2 3 要求实现的函数原型为: void turningUp(char a[N][N]); 8.103 编写函数,求整数m和n的最大公约数,并作为函数的返回值。 要求实现的函数原型为: int gdc(int m, int n); 8.105 编写函数,求整数m和n的最小公倍数,并作为函数的返回值。 要求实现的函数原型为: int lcm(int m, int n); 第10章 数组、指针和字符串(9/10题) 10.011 请编写一个函数func(char s[], char t[], int n),由数组s中长度为n的字符序列构造其逆序列,并存储在数组t中。例如,由给定字符序列s=“are”求得逆序列t=“era”;由s=“time”求得t=“emit”。 要求实现函数: void func(char s[], char t[], int n); /* 数组s的前n个元素存放给定的字符序列, 数组t的前n个元素存放s的逆序列。 注意:数组的下标从0开始。 */ 10.012 请编写一个函数func(char*s, char *t),由字符串s构造其逆串t。 例如,由给定串s=“are”求得逆串t=“era”;由s=“time”求得t=“emit”。 要求实现函数: void func(char *s, char *t); /* s是给定字符串的起始地址, t是新字符串的起始地址 */ 10.015 对长度为n的字符串s1,除首、尾字符外,将其余字符按ASCII码降序排列,组合成一个新的字符串s2。 要求实现函数: void func(char *s1, char *s2, int n); /* s1为字符串的起始地址, s2为新字符串的起始地址, n是字符串的长度。 要求:s1串不能发生改变, s2串存放新的字符串。 */ 10.016 对字符串s1,除首、尾字符外,将其余字符按ASCII码降序排列,组合成一个新的字符串s2。 要求实现函数: void func(char *s1, char *s2); /* s1为字符串的起始地址, s2为新字符串的起始地址, 注意:字符串尾字符之后跟随着一个结束符‘\0’, 即ASCII码为0的字符,结束符不属于字符串。 要求:s1串不能发生改变, s2串存放新的字符串。 */ 10.018 以字符串s第m(>=0)个字符开始的所有字符,按升序的次序构成字符串t。 要求实现函数: void substr(char *s, int m, char *t); /* s为字符串的起始地址, m>=0, t为新字符串的起始地址, 注意:字符串尾字符之后跟随着一个结束符‘\0’, 即ASCII码为0的字符,结束符不属于字符串。 要求:s串不能发生改变, t串存放新的字符串。 */ 10.020 在字符串s中查找字符c,如果找到,返回字符c首次出现在字符串s中的位置指针;否则,返回空指针NULL。 要求实现函数: char *match(char *s, char c); /* s为字符串的起始地址, c为要查找的字符, 返回值为字符c在字符串s中首次出现的位置指针, 若c未在s中出现,则返回空指针NULL。 */ 10.033 编写函数,计算年份year中第yearday天相应的月和日。例如,调用函数month_day(2000,61,&m,&d)之后,m=3,d=1,即2000年的第61天是3月1日。 要求实现函数: int month_day(int year, int yearday, int *pmonth, int *pday) /* year是年, yearday是天数, 若year和yearday合理, 则*pmonth和*pday是计算得出的月和日,函数返回1; 否则,函数返回0。 */ 10.044 请编写一个函数func,通过略去非数字字符,将字符串s转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。 要求实现函数: long func(char *s); /* s是一个数字字符串的地址, 函数返回值为由s含有的数字字符转换得到的数(包含正负数情况) */ 10.105 请编写一个函数findmax(int s[], int n),返回数组s中n(>0)个整数中的最大值。注意:要求在函数中采用指针(而不是下标)来处理数组元素。 要求实现函数: int findmax(int s[], int n); /* 返回s中n(>0)个整数的最大值。 注意:要求在函数中采用指针(而不是下标)来处理数组元素。 */ 10.124 请编写一个函数min3adj(int s[], int n),数组s中有n(>0)个整数,返回在s中相邻三个数的和中的最小值。 要求实现函数: int min3adj(int s[], int n); /* 数组s含n(>0)个整数, 返回在s中相邻三个数的和中的最小值。 */ 第11章 结构体和链表(7/9题) 11.023 结构体类型定义如下: struct date{int year; int month; int day;}; //定义日期结构体类型 struct student { char name[10]; //人名 struct date birth; //出生日期 }; 结构体数组s存储了n个人的名字和出生日期。写一函数,求这n个人中年龄最大(即出生日期最小)者的姓名。 要求实现下列函数: char *oldest(struct student s[], int n); 11.033 日期和链表结点的结构体类型定义如下: struct date{int year; int month; int day;}; //日期结构体类型 struct studentNode //链表结点的结构体类型 { char name[10]; //人名 struct date birth; //出生日期 struct studentNode *next }; 结构体链表L存储了n个人的名字和出生日期。写一函数,求这n个人中年龄 最大(即出生日期最小)者的名字。 要求实现下列函数: char *oldest(struct studentNode *L); /* 若L是空表,则返回空指针null 否则返回表中年龄最大者的名字 */ 11.063 结构体类型定义如下: struct course { int cID; //课程号,取值0~99 char name[10]; //课程名 float credit; //学分,取值0~5 int semester; //学期,取值1~8 }; 结构体数组c存储了n门课程的信息。写一函数,求学期s的总学分。 要求实现下列函数: float creditSum(struct course c[], int n, int s); 11.073 课程链表结点的结构体类型定义如下: struct courseNode //课程链表结点的结构体类型 { int cID; //课程号,取值0~99 char name[10]; //课程名 float credit; //学分,取值0~5 int semester; //学期,取值1~8 struct courseNode *next; }; 结构体链表Lc存储了各学期多门课程的信息。写一函数,求学期s的总学分。 要求实现下列函数: float creditSum(struct courseNode *Lc, int s); /* 若Lc是空表,则返回0; 否则返回学期s的总学分 */ 11.133 日期和结构体类型定义如下: struct date{int year; int month; int day;}; //日期结构体类型 struct student //结构体类型 { char name[10]; //人名 struct date birth; //出生日期 }; 结构体数组s存储了n个人的名字和出生日期。写一函数,由数组s中n个人 的信息及其顺序构造相应的链表。链表的结点的结构体类型定义如下: struct studentNode //结构体类型 { char name[10]; //人名 struct date birth; //出生日期 struct studentNode *next }; 要求实现下列函数: struct studentNode *CreateLinkList(struct student s[], int n); 11.173 课程链表结点的结构体类型定义如下: struct courseNode //课程链表结点的结构体类型 { int cID; //课程号,取值0~99 char name[10]; //课程名 float credit; //学分,取值0~5 int semester; //学期,取值1~8 struct courseNode *next; }; 结构体链表Lc存储了多门课程的信息。写一函数,将课程号为c的课程的学分修改为t。 要求实现下列函数: struct courseNode *creditChange(struct courseNode *Lc, int c, float t); /* 若课程c不存在,则修改不成功,返回null; 否则修改该课程的学分为t,返回指向该课程结点的指针。 */ 11.183 课程链表结点的结构体类型定义如下: struct courseNode //课程链表结点的结构体类型 { int cID; //课程号,取值0~99 char name[10]; //课程名 float credit; //学分,取值0~5 int semester; //学期,取值1~8 struct courseNode *next; }; 结构体链表Lc存储了多门课程的信息。写一函数,将课程号为c的课程结点删除。 要求实现下列函数: struct courseNode *deleteCourse(struct courseNode **Lc, int c); /* 若在链表Lc中课程c不存在,则删除不成功,返回null; 否则从链表Lc中删除该课程结点,并返回指向该课程结点的指针。 */ 11.302 单向链表的结点类型定义如下: struct node{ char ch; struct node *next; }; 编写函数,对单向链表L实现就地逆置,即将所有结点的指针反向,原链头当作链尾,原链尾当作链头,并返回逆置后链表的头指针。 实现下列函数: struct node *inverse(struct node *L); /* 对单向链表L实现就地逆置,并返回逆置后链表的头指针。*/ 11.352 单向链表的结点类型定义如下: struct node{ char ch; struct node *next; }; 编写函数,对单向链表L实现排序,即按结点的ch值,从小到大重构链表L,并返回排序后的链表的头指针。 实现下列函数: struct node *sorting(struct node *L); /* 对单向链表L实现从小到大排序,并返回重构后的链表的头指针。*/ - 11 -
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 环境建筑 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服