C语言程序设计实验及代码Word下载.docx
《C语言程序设计实验及代码Word下载.docx》由会员分享,可在线阅读,更多相关《C语言程序设计实验及代码Word下载.docx(44页珍藏版)》请在冰豆网上搜索。
![C语言程序设计实验及代码Word下载.docx](https://file1.bdocx.com/fileroot1/2022-12/12/4e1f7692-45cf-47f7-b6bf-1a2c2b89118b/4e1f7692-45cf-47f7-b6bf-1a2c2b89118b1.gif)
使用while语句编程求
=
的前n项和---------------------------P14
使用for语句编程求
的前n项和--------------------------P15
的前n项和-----------------------------P16
使用for语句的嵌套结构编程打印九-九乘法表--------------------P16
定义一个大小为10的整型一维数组,初始化所有数组元素,编程查找数组中的所有奇数,并统计奇数的个数-----------------P17
定义一个大小为10的整型一维数组,初始化其中的9个元素,这9个元素已经按照降序排列。
从键盘再输入1个整数,将该整数插入到已有的元素中,需保证这10个数仍然按照降序排序。
--------------------------------------------------------------P18
利用指针编程,其功能是求电阻的并联值和串联值。
---------P18
利用指针编程,其功能是利用“除号”和“求余号”将输入的两个两位的正整数组合成一个新的四位的正整数。
---------P16
定义一个大小为10的整型一维数组并初始化数组元素,再定义一个指针变量让其指向该数组,利用指针编程查找数组中的所有奇数。
--------------------------------P20
输入三角形的三条边长,定义一个子函数fun()求三角形的面积--------------------P21
定义一个子函数fun()打印菱形。
--------------------P22
定义一个子函数fun(),其功能是求1累加到100的和-----------P23
定义一个子函数fun(),求表达式
的前n项和---------P23
定义一个fun()函数,其功能是:
求两个整数的和、差、积、商。
----------------P26
在主函数中输入一元二次方程ax2+bx+c=0的三个系数a、b、c,求方程的实根。
定义三个子函数fun1()、fun2()、fun3()分别处理方程有无实根、有两个相同实根、有两个不同实根的情况----------------------------------------------------------------P27
从键盘上输入一个的字符串,输出所有ASCII码为奇数的字符,并统计这些字符的个数。
------------------------------P28
从键盘上输入一个由大写字母、小写字母、数字字符、其它字符构成的字符串,统计字符串中的大写字母个数、小写字母个数、数字字符个数、其它字符个数。
从键盘输入两个字符串,分别存到字符数组a和字符数组b中,编程将第二个字符串连接到第一个字符串末尾,形成一个新字符串。
(不使用#include<
string.h>
库函数)-----------------------P29
(n从0开始)前n项值,直到某一项的值小于10-6就结束循环。
------------------------------------------P30
使用for语句的嵌套结构编程打印行数为奇数的对称三教菱形
----------------------------------------------P31
从键盘输入一个正整数x,编程求比x大的,最临近x的n个素数,例如,为x和n分别输入数值10和15,就表示求出比10大的,最临近10的15个素数。
--------------------------------------------------P31
题目及答案
printf()函数的编程练习——格式1
编程输出如图所示的三角形。
voidmain()
{
printf("
*\n"
);
printf("
**\n"
***\n"
****\n"
}
给定圆半径值为5,编程求圆面积和圆周长
提示:
(1)本题需定义三个浮点型变量,如doubler=5,s,l;
(2)输出浮点型数据的格式说明符是%lf
(3)C语言中没有∏这个符号,编写程序时直接使用3.14159
(4)C语言中没有求次方的运算符,求次方可用连乘的方法
#include<
stdio.h>
#definePI3.14159
intmain()
floatr=5;
圆半径=%lf\n圆面积=%f\n圆周长=%f\n"
r,PI*r*r,2*PI*r);
}(其中一个数的n次方可以用数学运算来算pow(r,n),“r”为底数,n为次数)
scanf()函数、运算符编程练习
编写一个摄氏温度与华氏温度之间的转换程序,转换公式是:
提示:
该公式中的“C”是一个从键盘输入的已知量;
“F”是通过公式计算并打印出来的未知量。
#include<
doubleF,C;
请输入一个摄氏温度值:
"
C);
scanf("
%lf"
&
C);
F=1.8*C+32;
//或F=9/5*C+32若定义类型为int,则需要变为F=9.0/5*C+32或F=9/5.0*C+32或用强制类型转换F=(double)(9/5)*C+32;
原因是除号“/”在运算时为整型运算
printf("
对应的华氏温度值是:
%.2lf"
F);
运行结果如图所示:
注:
并联和串联的电阻值计算公式如下。
(1)并联电阻RP=
(2)串联电阻RS=R1+R2
(1)scanf()函数可以写成scanf("
%d,%d"
&
r1,&
r2);
(2)结果保留两位小数的格式说明符是“%.2lf”。
doubleR1,R2,RP,RS;
请输入两个电阻值:
R1,R2);
%lf,%lf"
R1,&
R2);
RP=(R1*R2)/(R1+R2);
RS=R1+R2;
并联电阻值:
%.2lf\n串联电阻阻值:
RP,RS);
字符的输入和输出
1、使用两种指定的方法打印如图所示图形。
方法一:
使用printf()函数的“%c”格式打印图形。
提示:
一个“%c”只能打印一个字符。
方法二:
使用printf()函数的“%d”格式打印图形。
%4d\n%4d\n%d\n"
1,222,33333);
chara,b,c;
a='
1'
;
b='
2'
c='
3'
%c\n"
a);
%c%c%c\n"
b,b,b);
%c%c%c%c%c\n"
c,c,c,c,c);
方法二的类似(运用ASCLL码)
inta,b,c;
a=49;
b=50
c=51;
1、从键盘输入3个数字字符,将它们分别转换为对应的整数值(即字符’0’转换为整数0,字符’1’转换为整数1,依次类推),然后求3个整数的平均值。
本题的变量定义可参考如下:
chara,b,c;
//变量a,b,c保存输入的3个数字字符
intx,y,z;
//变量x,y,z保存转换后的3个整数
doubleaver;
//变量aver保存求出的平均值
math.h>
voidmain(void)
doublea,b,c,d;
请输入三个数字字符:
scanf("
%lf,%lf,%lf"
a,&
b,&
c);
d=(a+b+c)/3;
平均值=%lf\n"
d);
chara,b,c;
intx,y,z;
doubleaver;
请输入三个数字字符:
scanf("
%c,%c,%c"
x=a-48;
y=b-48;
z=c-48;
aver=(x+y+z)/3.0;
平均值为:
%2lf"
aver)
例如:
输入12和34,组装成的四位数是1324。
运行效果如右图所示:
(1)首先利用“除号”和“求余号”分别把两个两位正整数的十位数、个位数分离开;
再经过数学运算组装成一个四位数。
(2)scanf()函数可以写成scanf("
%d%d"
a,&
b);
inta,b,z;
请输入两个两位数的正数:
%d%d"
z=a/10*1000+b/10*100+a%10*10+b%10;
合成的四位正整数是:
%d\n"
z);
数学函数的使用
1、输入三角形的三条边长,求三角形的面积。
(1)本题的变量定义可参考如下:
inta,b,c;
doublex,s;
(2)scanf()函数可以写成
%d,%d,%d"
b,&
(3)计算三角形面积的公式是:
(4)求x的开方值的库函数是sqrt(x),使用时需包含头文件math.h
doublex,s;
请输入三角形的三边:
%d%d%d"
x=(a+b+c)/2;
s=sqrt((x-a)*(x-b)*(x-c)*x);
s=%lf\n"
s);
单分支if语句编程练习
(1)要判断最大数,需对每两个数作两两比较。
(2)可以使用3个单分支if语句编写程序。
(3)从键盘输入2个整数到变量a、b中,编程总是把较小的数放入a中,较大的数放入b中。
inta,b,c,t;
请输入三个整数:
%d%d%d"
if(a<
b)
{t=a;
a=b;
b=t;
}
c)
a=c;
c=t;
if(b<
{t=b;
b=c;
最大数是:
a);
inta,b,t;
请输入两个整数到变量a,b中"
a=%d,b=%d\n"
a,b);
if(a>
{
t=a;
a=b;
b=t;
printf("
运行结果:
else
如果能,就按照以下提示的数学公式计算三角形的面积;
如果不能,就输出“不能构成三角形”的提示信息。
(1)该题属于“双分支if-else语句”结构。
(2)能构成三角形的逻辑条件是:
任意的两边之和均要大于第三边。
(3)
计算三角形面积的公式是:
(4)本题的变量定义可参考如下:
doublex,s;
(5)本题要用到求x开方值的数学库函数sqrt(x),需包含头文件math.h
inta,b,c,m,n,t;
m=a+b;
n=b+c;
t=a+c;
if(m>
c&
&
n>
a&
t>
{
构成的三角形面积是:
%.2lf\n"
}
else
不能构成三角形\n"
程序运行效果如下图所示:
(1)该题属于“多分支if语句”结构。
(2)本题的变量定义可参考如下:
charfu;
//fu变量用来存放运算符
doublex,y,z;
//x、y变量用来存放输入的2个实数,z存放运算结果
(3)输入字符型数据的格式说明符是%c,实型数据的格式说明符是%lf。
(4)输出实数保留2位小数的格式说明符是%.2lf。
(5)本题可参考教材P61例3.7,但是不允许使用switch语句编写该题程序。
charfu;
doublex,y,z;
intt,a;
请输入一个算数运算符和两个浮点数"
%c%lf%lf"
fu,&
x,&
y);
t=47-fu;
if(t==4)
z=x+y;
%.2lf%c%.2lf=%.2lf\n"
x,fu,y,z);
elseif(t==5)
z=x*y;
elseif(t==2)
z=x-y;
elseif(t==0)
z=x/y;
printf("
运算符非法,无法参与运算\n"
从键盘输入一个年份和一个月份,使用switch语句编程判断并打印该月的天数。
程序运行效果如下所示:
(1)本题先使用if语句判断年份和月份是否有效。
(2)如果年份和月份有效,再嵌套switch语句判断每个月份的天数。
(3)对于2月份的处理需要判断闰年,闰年的判断方法请参考教材P62例3.8。
intyear,month,day;
请输入一个年份和一个月份:
year,&
month);
if(month>
0&
month<
=12)
switch(month)
case1:
case3:
case5:
case7:
case8:
case10:
case12:
%d月有31天\n"
month);
break;
case4:
case6:
case9:
case11:
%d月有30天\n"
default:
if((year%4==0&
year%100!
=0)||(year%400==0))
2月有29天\n"
else
2月有28天\n"
输入的月份值无效!
inta,b;
请输入一个分数介于<
0~100>
间:
%d"
a);
a<
=100)
b=a/10;
switch(b)
及格\n"
良好\n"
优秀\n"
break;
default:
不及格\n"
输入的分数份值无效!
\n"
(1)该题变量可定义为:
inti=1,n=0;
//i是循环变量,n是统计个数的变量
(2)整除问题应使用求余号“%”,而不能使用除号“/”。
inti,n,b,c;
i=1;
n=0;
100以内能被5整除但不能同时被7整除的数是:
while(i<
b=i%5;
c=i%7;
if(b==0&
c!
=0)
%d"
i);
n=n+1;
i++;
符合条件的数有%d个\n"
n);
(1)该题变量可定义为intx,n=0,m;
其中,x保存输入的正整数,n统计位数