c语言实验习题
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
g.提示用户输入两个字符串保存到字符数组str1和str2中,再输入一个整型值n,将str2代表的字符串插入到str1中下标为n的位置,输出插入后的字符串;
h.输入一个字符串,将字符串逆序,输出逆序后的字符串;
i.已有两个字符串,分别保存在字符数组str1[80]和str2[3]中,统计在str1保存的字符串中str2保存的字符串出现了多少次;(str2中的字符串长度为2)
e.编写函数void catStr(char *stra,char *strb),将字符串strb连接到stra所指向的字符串的后面;
f.编写函数int cmpStr(char *stra,char *strb),将字符串strb和stra进行比较;
g.编写函数void insert(char *stra,char ch,int n),将将字符ch插入到字符串stra中第n个位置;
k.编写函数voidfindCh(char *str , char ch),判断字符ch是否与str所指串中的某个字符相同; 若存在相同,什么也不做,若不同,则将其插在串的最后。
l.编写函数 int func(int n),函数返回值为sum=1+1+2+1+2+3+1+2+3+4+...+1+2+3+4+...+n
o.请编写函数voidfun(char *s,char *t),将s所指字符串的正序和反序进行连接,形成一个新串放在t所指的数组中。例如:当s串为"ABCD"时,则t串的内容应为"ABCDDCBA"。
p.
9.
a.有n个人围成一圈,顺序排号。从第一个人开始报数(从1到4报数),凡报到4的人退出圈子,问最后留下的是原来第几号的那位。(建议用链表实现)
d.输入一个字符串,再输入一个字符,然后将该字符在字符串出现的第一个删除掉,输出删除后的字符串;
e.输入一个字符串,再提示用户输入两个整型值n、m,要求将字符串第n个字符开始,删除m个字符,输出删除后的字符串;
f.输入一个字符串,再提示用户输入一个字符x,和一个整型值n,要求n小于字符串的长度,将x插入到下标为n的位置,输出插入后的字符串;
1.
a.输入一个小数点后有多位数字的小数,实现将其保留三位小数,并输出;(3.141593.142,10.12345610.123)
b.输入一个4位整数,求其得各位数字的平方和;(12341+4+9+16=30).
c.定义字符型变量ch,写出六种给ch赋值字符’A’的代码;
d.编写程序输出26组大小写字母;(AaBbCc……….XxYyZz)
m.已知X、Y、Z分别表示0~9中不同的数字,编程求出使算式XXXX+YYYY+ZZZZ=YXXXZ成立时X、Y、Z的值,并要求打印该算式。
n.输出1到100之间每位数的乘积大于每位数的和的数。例如:数字26,数位上数字的乘积12大于数字之和8。
o.求100-999之间的水仙花数说明:水仙花数是指一个三位数的各位数字的立方和是这个数本身。
z=e的x次幂(x>10)
z=log(x+3) (x>-3)
z=sin(x)/((cos(x)+4)
e.输入一个成绩,输出此成绩对应的级别;(优、良、中、及格、不及格),要求分别使用if语句和switch语句;
f.判断一个字符是否为字母或者数字;
g.使用条件运算符实现让c等于a、b中较大的,d等于a、b中较小的,e等于a的绝对值。
j.编写一个函数,在函数中定义一个静态局部变量count,统计该函数被调用的次数;
k.编写一个函数,参数为整型n,输出n行的菱形;例如n=7,则图形为
*
***
*****
*******
*****
***
*
5.
a.建立一个整型数组,在定义数组的时候为数组初始化任意10数字,体会初始化的用法;
a)建立一个长度为10的一维整型数组,提示用户为数组输入数据;
b.求出二维数组的主对角线之和、副对角线之和;
c.求出数组的上三角的平均值和下三角的平均值;
d.求出矩阵的周边元素之和;
e.判断矩阵是不是上三角矩阵;判断矩阵是不是下三角矩阵;
f.将矩阵转置,输出转置后的矩阵;
g.建立一个二维数组,将九九乘法表保存到数组中并且输出出来;
h.建立一个二维数组,数组的第一行保存26个小写字母,第二行保存26个大写字母;
2.
a.输入三角形得三个边的边长,以此判断能否组成三角形,是什么形状的三角形;(等边三角形、等腰三角形、直角三角形、等腰直角三角形、一般三角形)
b.输入一个年份值,判断是否为闰年;
c.输入a、b、c三个整型变量,分别使用if语句和条件运算符求出三个数的最大值和最小值;
d.输入任意实数,求出其所对应的函数值(调用数学函数库)。
k.一个自然数被 8 除余 1 ,所得的商被 8 除也余 1 ,再将第二次的商被8 除后余7 ,最后得到一个商为a。又知这个自然数被17除余4 ,所得的商被17除余15,最后得到一个商是a的2倍。编写程序求这个自然数。
l.用二分法求方程2X^3+4X^2+3X-6=0在(-10,10)之间的根 ,其中 X^n代表X的n次方。
b)求出数组的最大值、平均值;
b.将数组分别使用选择排序法和冒泡排序法排序,并输出排序后的数组;
c.建立一个字符数组,将26个小写字母保存到数组中,并逆序输出;
d.用数组保存fibonacci数列的前20项;
6.
a.建立一个5行5列的二维数组,提示用户输入数组的值,分别按照先行后列和先列后行的顺序输入相同值;将数组显示到屏幕上,按矩阵显示;观察两种读入顺序的不同;
e.修改程序4,实现1-1/3+1/5-1/7+......1/(2*n-1);
f.编程实现1*2*3*4*5*.....n;
g.编程实现输入n,判断n是不是质数;
h.求sum=d+dd+ddd+……+dd...d(n个d),其中d为1-9的数字,d和n输入。
i.用一元五角钱兑换人民币5分、2分和1分的硬币(要求每种至少有一个)共100枚,请输出每种具体的兑换方案以及共有多少种方案。
h.例如:若 n = 15,则应输出:The value is: 2209。
i.在字符串str中找出ASCii码值最大的字符,将其放在第一个位置上,并将该字符的原字符向后顺序移动。例如:调用fun函数之前给字符串输入:ABCDeFGH,调用后字符串中的内容为:eABCDFGH。
j.猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
e.定义浮点型变量f1、f2,为f1赋值10的-30次,为f2赋值10的30次
f.定义一个单精度浮点型变量f和一个双精度浮点型变量d,为f和d都赋值3.14159265358979323846264338327950288,输出f和d得值,要求保留20位小数,观察输出结果;
g.输入华氏温度求摄氏温度。转换公式为c=5/9(f-32Байду номын сангаас,输出结果取两位小数。
m.编写函数 int func(int a[],int n,int b),将b插入到一个已按降序排好的数组a中,a中现在有n个元素,要求插入后的数组仍然是降序的;
n.请编写函数voidfun(char *str),对字符串,按降序排列。例如:原来的字符串为CEAedcab,排序后输出为edcbaECA。
h.读入一元二次方程的三个系数,a,b,c,求出各种情况下方程的根,无解或输入数据不正确输出提示信息
3.
a.编写程序实现1+2+3+4+......+n,n由用户输入;
b.修改程序1,实现1+3+5+7+9+......2*n-1;
c.修改程序1,实现2+4+6+8+10+......2*n;
d.修改程序2,实现1+1/3+1/5+1/7+......1/(2*n-1);
h.编写函数int lenStr(char s[]),求字符串的长度;
i.编写函数intfindCh(char *str , char ch),找出字符ch在字符串str中出现的第一个位置;编写函数 void func(char *str),将str所指向字符串中的所有大写字母全变成小写字母;
j.编写函数intfunc(char *str),将字符串中所有的数字字符删除掉,并将新生成的字符串的长度作为返回值;比如“abc123xyz”过滤后“abcxyz”返回值为6
i.建立二维数组a[4][3],并为数组输入值,求出数组每行的最大值保存到数组b[4]中,求出数组每列的最大值,并保存到数组c[3]中;
7.
a.输入一个字符串,以回车作为结束标志,并将字符串输出出来;
b.输入一个字符串,再输入一个字符,统计该字符在字符串中出现的次数;
c.输入一个字符串,统计字符串中字母、数字、空格出现的字数;;
p.编写一个函数求任意给两个日期(Y0年M0月DO日和Y1年M1月D1日)相差的天数。
j.输入一个字符串,以回车作为结束标志,然后将字符串中的字符排序(依照ASCII码的大小由低到高),并将排序后的字符串输出出来;
8.
a.编写函数实现void func(int a,int b,int c,int *pmax,int *pmin,float *pavg),求出a,b,c的最大值和最小值、平均值通过指针返回;
b.编写函数void swap(int*x ,int *y)交换想x和y指向变量的值;
c.编写函数int aSum(int *a ,int n)求出a所指向数组的前n项的和;
d.编写函数void cpyStr(char *stra,char *strb),将字符串strb复制给stra所指向的空间;
c.有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。
d.给定n个实数,输出平均值,并统计在平均值以下(含平均值)的实数个数。
e.将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5
f.打印出杨辉三角形(要求打印出10行)
g.求广义菲玻那契级数的第n项。广义菲玻那契级数的前n项为: 1,1,1,3,5,9,17,31,……
b.读入一个英文文本行,将其中每个单词的第一个字母改成大写,然后输出此文本行 (这里的“单词”是指由空格隔开的字符串)。
例如:若输入:“i am a student to take the examination.”,则应输出:“IAm A Student To Take The Examination.”。
f.编写一个函数,求一个整型数的各位数字的立方和;
g.编写函数fun计算并返回分段函数的值:
x^2+x+6 x<0且x≠-3
f(x)= x^2-5x+6 0≤x<10且x≠2及x≠3
x^2-x-1 其它
h.编写一个函数,用递归法求阶乘;
i.编写一个函数,用递归法求fibonacci数列的的前n项,n为形参;
****** *
4.
a.编写一个函数,返回一个整数的绝对值.;
b.编写一个函数,判断一个整数是否为素数,如果是则返回1,否则返回0.;
c.编写一个函数,找出一个大于给定整数且紧随这个整数的素数。
d.通过调用素数函数,实现求出1000以内所有素数的和;
e.通过调用素数函数,验证哥德巴赫猜想在10000以内有效;
j.编程输出下三角式的九九乘法表.
k.输出斐波那契数列的前20项,该数列的前两项都是1,以后各项是前两项之和。
l.实现1!+2!+3!.....+n!,n由用户输入;
m.实现1+(1+2)+(1+2+3)+(1+2+3+4)+.....+(1+2+3+4...+n),n由用户输入;
n.求1到100之间的偶数之积;
o.输入n和m,求出他们的最大公约数和最小公倍数;
p.在屏幕上输出以下图形,要求使用循环嵌套实现
1.
*****
*****
*****
*****
*****
2.
*
**
***
****
*****
3.
*****
****
***
**
*
4.
*****
****
***
**
*
5.
*
**
***
****
*****
6.
*
***
*****
h.输入一个字符串,将字符串逆序,输出逆序后的字符串;
i.已有两个字符串,分别保存在字符数组str1[80]和str2[3]中,统计在str1保存的字符串中str2保存的字符串出现了多少次;(str2中的字符串长度为2)
e.编写函数void catStr(char *stra,char *strb),将字符串strb连接到stra所指向的字符串的后面;
f.编写函数int cmpStr(char *stra,char *strb),将字符串strb和stra进行比较;
g.编写函数void insert(char *stra,char ch,int n),将将字符ch插入到字符串stra中第n个位置;
k.编写函数voidfindCh(char *str , char ch),判断字符ch是否与str所指串中的某个字符相同; 若存在相同,什么也不做,若不同,则将其插在串的最后。
l.编写函数 int func(int n),函数返回值为sum=1+1+2+1+2+3+1+2+3+4+...+1+2+3+4+...+n
o.请编写函数voidfun(char *s,char *t),将s所指字符串的正序和反序进行连接,形成一个新串放在t所指的数组中。例如:当s串为"ABCD"时,则t串的内容应为"ABCDDCBA"。
p.
9.
a.有n个人围成一圈,顺序排号。从第一个人开始报数(从1到4报数),凡报到4的人退出圈子,问最后留下的是原来第几号的那位。(建议用链表实现)
d.输入一个字符串,再输入一个字符,然后将该字符在字符串出现的第一个删除掉,输出删除后的字符串;
e.输入一个字符串,再提示用户输入两个整型值n、m,要求将字符串第n个字符开始,删除m个字符,输出删除后的字符串;
f.输入一个字符串,再提示用户输入一个字符x,和一个整型值n,要求n小于字符串的长度,将x插入到下标为n的位置,输出插入后的字符串;
1.
a.输入一个小数点后有多位数字的小数,实现将其保留三位小数,并输出;(3.141593.142,10.12345610.123)
b.输入一个4位整数,求其得各位数字的平方和;(12341+4+9+16=30).
c.定义字符型变量ch,写出六种给ch赋值字符’A’的代码;
d.编写程序输出26组大小写字母;(AaBbCc……….XxYyZz)
m.已知X、Y、Z分别表示0~9中不同的数字,编程求出使算式XXXX+YYYY+ZZZZ=YXXXZ成立时X、Y、Z的值,并要求打印该算式。
n.输出1到100之间每位数的乘积大于每位数的和的数。例如:数字26,数位上数字的乘积12大于数字之和8。
o.求100-999之间的水仙花数说明:水仙花数是指一个三位数的各位数字的立方和是这个数本身。
z=e的x次幂(x>10)
z=log(x+3) (x>-3)
z=sin(x)/((cos(x)+4)
e.输入一个成绩,输出此成绩对应的级别;(优、良、中、及格、不及格),要求分别使用if语句和switch语句;
f.判断一个字符是否为字母或者数字;
g.使用条件运算符实现让c等于a、b中较大的,d等于a、b中较小的,e等于a的绝对值。
j.编写一个函数,在函数中定义一个静态局部变量count,统计该函数被调用的次数;
k.编写一个函数,参数为整型n,输出n行的菱形;例如n=7,则图形为
*
***
*****
*******
*****
***
*
5.
a.建立一个整型数组,在定义数组的时候为数组初始化任意10数字,体会初始化的用法;
a)建立一个长度为10的一维整型数组,提示用户为数组输入数据;
b.求出二维数组的主对角线之和、副对角线之和;
c.求出数组的上三角的平均值和下三角的平均值;
d.求出矩阵的周边元素之和;
e.判断矩阵是不是上三角矩阵;判断矩阵是不是下三角矩阵;
f.将矩阵转置,输出转置后的矩阵;
g.建立一个二维数组,将九九乘法表保存到数组中并且输出出来;
h.建立一个二维数组,数组的第一行保存26个小写字母,第二行保存26个大写字母;
2.
a.输入三角形得三个边的边长,以此判断能否组成三角形,是什么形状的三角形;(等边三角形、等腰三角形、直角三角形、等腰直角三角形、一般三角形)
b.输入一个年份值,判断是否为闰年;
c.输入a、b、c三个整型变量,分别使用if语句和条件运算符求出三个数的最大值和最小值;
d.输入任意实数,求出其所对应的函数值(调用数学函数库)。
k.一个自然数被 8 除余 1 ,所得的商被 8 除也余 1 ,再将第二次的商被8 除后余7 ,最后得到一个商为a。又知这个自然数被17除余4 ,所得的商被17除余15,最后得到一个商是a的2倍。编写程序求这个自然数。
l.用二分法求方程2X^3+4X^2+3X-6=0在(-10,10)之间的根 ,其中 X^n代表X的n次方。
b)求出数组的最大值、平均值;
b.将数组分别使用选择排序法和冒泡排序法排序,并输出排序后的数组;
c.建立一个字符数组,将26个小写字母保存到数组中,并逆序输出;
d.用数组保存fibonacci数列的前20项;
6.
a.建立一个5行5列的二维数组,提示用户输入数组的值,分别按照先行后列和先列后行的顺序输入相同值;将数组显示到屏幕上,按矩阵显示;观察两种读入顺序的不同;
e.修改程序4,实现1-1/3+1/5-1/7+......1/(2*n-1);
f.编程实现1*2*3*4*5*.....n;
g.编程实现输入n,判断n是不是质数;
h.求sum=d+dd+ddd+……+dd...d(n个d),其中d为1-9的数字,d和n输入。
i.用一元五角钱兑换人民币5分、2分和1分的硬币(要求每种至少有一个)共100枚,请输出每种具体的兑换方案以及共有多少种方案。
h.例如:若 n = 15,则应输出:The value is: 2209。
i.在字符串str中找出ASCii码值最大的字符,将其放在第一个位置上,并将该字符的原字符向后顺序移动。例如:调用fun函数之前给字符串输入:ABCDeFGH,调用后字符串中的内容为:eABCDFGH。
j.猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
e.定义浮点型变量f1、f2,为f1赋值10的-30次,为f2赋值10的30次
f.定义一个单精度浮点型变量f和一个双精度浮点型变量d,为f和d都赋值3.14159265358979323846264338327950288,输出f和d得值,要求保留20位小数,观察输出结果;
g.输入华氏温度求摄氏温度。转换公式为c=5/9(f-32Байду номын сангаас,输出结果取两位小数。
m.编写函数 int func(int a[],int n,int b),将b插入到一个已按降序排好的数组a中,a中现在有n个元素,要求插入后的数组仍然是降序的;
n.请编写函数voidfun(char *str),对字符串,按降序排列。例如:原来的字符串为CEAedcab,排序后输出为edcbaECA。
h.读入一元二次方程的三个系数,a,b,c,求出各种情况下方程的根,无解或输入数据不正确输出提示信息
3.
a.编写程序实现1+2+3+4+......+n,n由用户输入;
b.修改程序1,实现1+3+5+7+9+......2*n-1;
c.修改程序1,实现2+4+6+8+10+......2*n;
d.修改程序2,实现1+1/3+1/5+1/7+......1/(2*n-1);
h.编写函数int lenStr(char s[]),求字符串的长度;
i.编写函数intfindCh(char *str , char ch),找出字符ch在字符串str中出现的第一个位置;编写函数 void func(char *str),将str所指向字符串中的所有大写字母全变成小写字母;
j.编写函数intfunc(char *str),将字符串中所有的数字字符删除掉,并将新生成的字符串的长度作为返回值;比如“abc123xyz”过滤后“abcxyz”返回值为6
i.建立二维数组a[4][3],并为数组输入值,求出数组每行的最大值保存到数组b[4]中,求出数组每列的最大值,并保存到数组c[3]中;
7.
a.输入一个字符串,以回车作为结束标志,并将字符串输出出来;
b.输入一个字符串,再输入一个字符,统计该字符在字符串中出现的次数;
c.输入一个字符串,统计字符串中字母、数字、空格出现的字数;;
p.编写一个函数求任意给两个日期(Y0年M0月DO日和Y1年M1月D1日)相差的天数。
j.输入一个字符串,以回车作为结束标志,然后将字符串中的字符排序(依照ASCII码的大小由低到高),并将排序后的字符串输出出来;
8.
a.编写函数实现void func(int a,int b,int c,int *pmax,int *pmin,float *pavg),求出a,b,c的最大值和最小值、平均值通过指针返回;
b.编写函数void swap(int*x ,int *y)交换想x和y指向变量的值;
c.编写函数int aSum(int *a ,int n)求出a所指向数组的前n项的和;
d.编写函数void cpyStr(char *stra,char *strb),将字符串strb复制给stra所指向的空间;
c.有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。
d.给定n个实数,输出平均值,并统计在平均值以下(含平均值)的实数个数。
e.将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5
f.打印出杨辉三角形(要求打印出10行)
g.求广义菲玻那契级数的第n项。广义菲玻那契级数的前n项为: 1,1,1,3,5,9,17,31,……
b.读入一个英文文本行,将其中每个单词的第一个字母改成大写,然后输出此文本行 (这里的“单词”是指由空格隔开的字符串)。
例如:若输入:“i am a student to take the examination.”,则应输出:“IAm A Student To Take The Examination.”。
f.编写一个函数,求一个整型数的各位数字的立方和;
g.编写函数fun计算并返回分段函数的值:
x^2+x+6 x<0且x≠-3
f(x)= x^2-5x+6 0≤x<10且x≠2及x≠3
x^2-x-1 其它
h.编写一个函数,用递归法求阶乘;
i.编写一个函数,用递归法求fibonacci数列的的前n项,n为形参;
****** *
4.
a.编写一个函数,返回一个整数的绝对值.;
b.编写一个函数,判断一个整数是否为素数,如果是则返回1,否则返回0.;
c.编写一个函数,找出一个大于给定整数且紧随这个整数的素数。
d.通过调用素数函数,实现求出1000以内所有素数的和;
e.通过调用素数函数,验证哥德巴赫猜想在10000以内有效;
j.编程输出下三角式的九九乘法表.
k.输出斐波那契数列的前20项,该数列的前两项都是1,以后各项是前两项之和。
l.实现1!+2!+3!.....+n!,n由用户输入;
m.实现1+(1+2)+(1+2+3)+(1+2+3+4)+.....+(1+2+3+4...+n),n由用户输入;
n.求1到100之间的偶数之积;
o.输入n和m,求出他们的最大公约数和最小公倍数;
p.在屏幕上输出以下图形,要求使用循环嵌套实现
1.
*****
*****
*****
*****
*****
2.
*
**
***
****
*****
3.
*****
****
***
**
*
4.
*****
****
***
**
*
5.
*
**
***
****
*****
6.
*
***
*****