C语言程序设计16章课后习题.docx
- 文档编号:10502962
- 上传时间:2023-02-17
- 格式:DOCX
- 页数:8
- 大小:18.73KB
C语言程序设计16章课后习题.docx
《C语言程序设计16章课后习题.docx》由会员分享,可在线阅读,更多相关《C语言程序设计16章课后习题.docx(8页珍藏版)》请在冰豆网上搜索。
C语言程序设计16章课后习题
C语言程序设计1(6章课后习题)-
C语言编程教程
|第1991-6章练习总结
如果您在本文档中发现错误,请及时提出来,我会以超光速为您解决!
!
!
欢迎您的宝贵意见!
!
!
都是自己人编的,他们不是很好。
利用
...
练习1
1。
一个C语言程序由几个函数组成,其中只有一个(主)函数//这是众所周知的。
想一想我们老师谭定义的两个主要函数(其中一个被删除了),结果是一个错误...所以,几个函数只能有一个主函数...
2。
模仿求圆面积的算法,写出求圆周长的算法,并用流程图来表示这个算法。
a:
第一步,我们首先要求圆的周长知道半径,半径需要由us
定义,也就是说,我们需要手动输入半径的值
第2步,如果我们想知道圆的周长的计算公式,应该没有什么是我们不知道的...(l=2*∏r)
的第3步,我们需要输出l的值,第4步,完成...流程图是:
(单词技能不太准确需要提高...)
开始输入r的值,定义lr=3计算l=2*r*∏输出l结束3。
编辑并运行以下程序,并记录运行结果
(1)#包括
voidmain(){
printf(\
printf(\u)
的结果非常简单:
欢迎您*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************
printf(\outputscanf(\原样(\输入值a,b
//操作
s=a+b);
}
printf(\//输出
:
请输入三个数字:
3,4s=7
(3和4之间的逗号,无空格)当scanf(\语句直接位于%d和%d之间,即%d%d时,请在运行后输入3个空格4或3个回车4,而不是使用逗号...)4。
编写一个c语言程序来计算圆的面积并运行它
#包括voidmain(){
floatr,s;
常量浮点PI=3.1415926//常量浮点定义一个常量printf(\scanf(\s=2*PI*r);printf(\“}
//按原样输出//输入半径//计算//输出值S
练习2
1。
指出下列哪些常数满足C语言的要求:
‘a‘‘101‘‘\\‘E3“ab\\n“1.0e5300.5.2e2.5
‘a‘在一条直线上,这是常见的。
”101”不匹配(“”只能包含一个字符);E3不符合”AB\\n“是常见的...1.0E5待定...300待定...5.2E5.2不符合,因为我们都熟悉1e-6,它代表1/1000000;只能是e之后的整数...
2。
指出以下变量是否合法定义
(1)inta,a1,aa=100
(2)浮动x;Intx。
(3)charch1,ch2(4)charch1=CH2=‘a‘;
A:
(1)是的,它证明了灰色对于
(2)来说常常是错误的,不用说,X只能是整数或浮点数,而不是和(3)在运行验证后非常正确(4)错误3.如下设置程序中的变量定义语句;inta=10,b=4;浮动x=2.5,y=3.5
的输出是ff,10
%x表示输出a的十六进制数,将255转换为十六进制,255=15,15转换为十六进制,然后除以16,剩下15,然后ff是ff,8从十进制转换为八进制,直接数是8比1,即不是10
4。
以下程序的输出是()
#includevoidmain(){
inta1=1,a2=0,a3=2;
printf(\}
输出是:
1,3,1非常简单的操作...再简单不过了...
5。
printf函数使用格式字符%5s,其中5表示输出字符占用5列如果字符串长度大于5,请按(按原样输出),如果字符串长度小于5,请按(在前面填入空格并按原样输出)6.定义的变量如下,inta1,a2;charc1,C2;如果
需要a1、a2、c1和c2的值,正确的输入函数调用语句是()a:
scanf(“%d、%d、%c、%c“,
使用scanf,因为a1和a2是整形变量,c1和c2是字符变量,所以使用字符输入格式
7。
输入两个成形变量A和B的值,并输出以下公式和计算结果A+b,a-b,a*b,a/b,(浮点)a/b,a%b每个公式占一行。
如a=10,b=5,a+b,则输出为10+5=15答案:
#include
voidmain(){inta,b;scanf(\printf(\printf(\printf(\printf(\
printf(\
//浮点)强制类型转换为实数
printf(\
//2%的含义不同。
的第一个百分比表示:
输入1%,
的第二个百分比表示求余数
}输入:
5,4输出:
5+4=95-4=15*4=205/4=1
(浮点)5/4=1.250000
5%4=1
8。
输入一个非负数,以此数字为半径计算圆周长度和面积甲:
这和以前的半径面积一样。
你不需要再写一遍吗?
9.输入任意三位数字,并以相反的顺序输出它们的数字(例如,输入123输出321)
A:
这个问题的思路是输出的顺序。
由于它被定义为3位数字,我们只需要让最后一位数字先输出,然后我们将考虑如何使用加法,减法,乘法,除法和余数来实现最后一位数字的第一次输出。
例如,123,123加上什么,减去什么,乘以什么,除以什么,或者余数等于3?
我们很容易把123想象成3(当我没有想到这一点时,我无言以对)。
我们也很容易想到123/10,然后发现10的余数是2,123/100=1。
这些很容易做到。
然后我们可以按照它们完成的顺序输出它们。
请看下面的程序:
#includevidmain(){inta;
printf(\请输入一个三位数:
\\n\
scanf(\
printf(\
}
#includevidmain(){inta;
printf(\请输入三位数:
\\n\}
输入:
467输出:
764
10。
输入三个任意大小的整数,以确定是否有两个奇数和一个偶数。
如果是,它将输出是,如果不是,它将不输出(使用条件表达式,而不是If语句)
a:
首先,我们需要了解什么是条件表达式,条件表达式是表达式1?
表达式2:
表达式3
首先求解表达式1。
如果其值为真(不是0),则表达式2的值作为整个
表达式的值,否则(表达式1的值为0),表达式3的值作为整个表达式的值程序如下:
#includevidmain(){inta,b,c,d;scanf(\d=a%2+b%2+c%2;d==2?
Printf(\
//此处,如果d==2,则执行”printf(“YES“),”
如果d!
=2,
scanf(\
printf(\
)执行”printf(“not“)
}
输入:
3,4,5
输出:
YES
11。
查找前面和后面的字符输入一个字符,找出它的前一个字符和后一个字符,按照ASCII码值从大到小的顺序输出3个字符及其对应的ASCII码值
答:
对于这个问题,我们首先需要知道什么是前置字符,什么是后续字符。
前置字符是在您输入当前字符之前的字符,后续字符是在您输入当前字符之后的字符,并且这些字符可以被添加或减去(在特定条件下);现在我们明白了,让我们开始编写程序:
#include
voidmain(){charch;
printf(\请输入一个字符:
\\n\ch=getchar();
printf(\前面的字符是:
\printf(\printf(\下面的字符是:
\printf(\
//输出后续字符//输出前体字符//输入字符
28天\}否则打印(\}解决方法:
在这个问题中,我首先判断月份。
由于1月、3月、4月、5月、6月、7月、8月、9月、10月、11月和12月这几天不会改变,因此应分别判断2月(即是否为闰年);If语句用于写入if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)printf(\然后考虑剩余月份中的天数(从二月开始)
if(month==2)
{
if((year@0==0)|||((year%4==0)浮点型scanf(\
while(x>=0)//使用输入值是否大于0作为判断条件{if(x%2==0){
average+=x;//暂时使用average作为输入
偶数的和,并使用j来计数
j+的偶数;}scanf(\}
average=average/j;//使用average作为
printf(\}
2的平均值。
#includevidmain(){charch;
intn=0,I=0;//定义两个变量来计算字母和数字
的个数,同时((CH=Getchar())!
=‘*)/’*‘作为结束条件
{//开始判断
if((ch>=‘0’)//统计数
if(((ch>=‘A’)//计数字母
}printf(\}
3。
#includevidmain(){intx,s=0,a,b;Scanf(\}
do//设置循环{
a=x;//余数
b=(int)(x/10);//如果(b>=0){s+=a,则将对数除以10以找到整数;x=b。
}
}同时(b!
=0);//判断是否将printf的所有数字相加(\
分析:
在做这个问题时,首先认为我们需要将一个周期中的所有数字相加;然后我们必须使用一种方法来提取每个数字,所以对于输入的数字,我们首先找到余数,然后除以10,找到整数,直到所有的数字相加。
4。
#包括voidmain(){charch;do{ch=getchar();if((ch>=65)if((ch>=97)}while(ch!
=74);}
5。
#包括voidmain(){floatI=1.045;ints=200,n=0;对于(n=0;s法官
9printf(\elseprint(\}
9。
#includevidmain(){inti,n;浮点s=0,a=1,b=2;(I=1;i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 16 课后 习题
![提示](https://static.bdocx.com/images/bang_tan.gif)