C语言课程书面作业答案.docx
- 文档编号:10505331
- 上传时间:2023-02-17
- 格式:DOCX
- 页数:19
- 大小:42.54KB
C语言课程书面作业答案.docx
《C语言课程书面作业答案.docx》由会员分享,可在线阅读,更多相关《C语言课程书面作业答案.docx(19页珍藏版)》请在冰豆网上搜索。
C语言课程书面作业答案
1.用传统流程图表示求解以下问题的算法。
(分别用流程图和N-S图表示)
(1)依次将10个数输入,要求将其中最大的数输出。
(1) #include<>
main()
{
inta[10],i,j;
printf("输入\n");
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
i=0;j=a[0];
for(i=1;i<10;i++)
{
if(a[i]>=j)j=a[i];
}
printf("最大值:
%d\n",j);
}
(2)求1+2+3+…+100。
#include<>
voidmain()
{
inti;
intS=0;
for(i=1;i<=100;i++)
{
S=S+i;
}
}
2.求下面算术表达式的值:
(1)x+a%3*(int)(x+y)%2/4
设x=,a=7,y=
(2)(float)(a+b)/2+(int)x%(int)y
设a=2,b=3,x=,y=
(1)
(2)4
3.写出下面程序的运行结果:
#include<>
voidmain()
{
inti,j,m,n;
i=8;
j=10;
m=++i;
n=j++;
printf(“%d,%d,%d\n”,i,j,m,n);
}8,10,16
4.写出下面赋值表达式运算后a的值,设原来a=12:
(1)a+=a;
(2)a-=2;(3)a*=2+3;(4)a/=a+a;(5)a%=(n%=2),n的值等于5;
(6)a+=a-=a*=a
(1)a=a+a=24
(2)a=a-2=10(3)a=a×(2+3)=60
(4)a=a/(a+a)=12/24=0(5)a=a%(n=n%2),n=5--->a=a%(n=5%2)=a%(n=1)=12%1=0
(6)a=a+(a=a-(a=a*a))=a+(a=a-(a=12*12))=a+(a=144-144)=0+0=0
5.设圆半径r=,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。
用scanf输入数据,输出计算结果,输出时要求有文字说明,取小数点后2位数字,请编程序。
#include<>
main()
{
inta,b,C,s1,s2,v1,v2;
printf("请输入圆柱的半径和圆柱的高:
")
scanf("%d%d",&a,&b);
C=2**a;
s1=*a*a;
s2=C*b+2*s1;
v1=1/3**a*a*a*4;
v2=s1+b;
printf("\n圆的周长为:
%.2f\n",C);
printf("圆的面积为:
%.2f\n",s1);
printf("圆球表面积为:
%.2f\n",s2;
printf("圆球体积为:
%.2f\n",v2);
printf("圆柱体积为:
%.2f\n",v2);
}
6.输入一个华氏温度,要求输出摄氏温度。
公式为:
#include<>
main()
{
doubletem_c,tem_f;
printf("请输入华氏温度:
");
scanf("%lf",&tem_f);
tem_c=(tem_f-32)*/;
printf("%f对应的摄氏温度为%.2f",tem_c);
renturn0;
}
7.写出下面各逻辑表达式的值。
设a=3,b=4,c=5。
(1)a+b>c&&b==c;
(2)a||b+c&&b-c;(3)!
(a>b)&&!
c||1;
(4)!
(x=a)&&(y=b)&&0;(5)!
(a+b)+c-1&&b+c/2;
8.有一个函数:
。
写一段程序,输入x,输出y值。
#include<>
main()
{
floatx,y;
scanf("pleaseinputnumberx:
%f",x);
if(x<1)
y=x;
elseif(x<10)
y=2*x-1;
else
y=3*x-11
printf("\ny=%f",y);
}
9.有4个圆塔,圆心分别为(2,2)、(-2,2)、(-2,-2)、(2,-2),原半径为1,如图。
这4个塔的高度为10m,塔以外无建筑物。
今输入任一点的坐标,求该点建筑高度(塔外的高度为0)。
#include<>
voidmain()
{
intx,y,h,p;
floati,j;
printf("请输入坐标(i,j):
");
scanf("%f,%f",&i,&j);
if(i>0&&j>0)p=1;x=2;y=2;/*求输入坐标所在区域(第一区间)*/
if(i<0&&j>0)p=2;x=-2;y=2;/*求输入坐标所在区域(第二区间)*/
if(i<0&&j<0)p=3;x=-2;y=-2;/*求输入坐标所在区域(第三区间)*/
if(i>0&&j<0)p=4;x=2;y=-2;/*求输入坐标所在区域(第四区间)*/
switch(p)
{
case1:
h=((i-x)*(i-x)+(j-y)*(j-y)<=1)?
10:
0;break;/*求到圆心的距离*/
case2:
h=((i-x)*(i-x)+(j-y)*(j-y)<=1)?
10:
0;break;
case3:
h=((i-x)*(i-x)+(j-y)*(j-y)<=1)?
10:
0;break;
case4:
h=((i-x)*(i-x)+(j-y)*(j-y)<=1)?
10:
0;break;
}
printf("该点高度为:
%d\n",h);
}
10.求
之值,其中a是一个数字,n表示a的位数,例如:
2+22+222+2222+22222(此时n=5)。
n由键盘输入。
#include<>
voidmain()
{
inti,a,n,Sn=0,An=0;
printf("请输入a和n的值:
");
scanf("%d%d",&a,&n);
for(i=1;i<=n;i++)
{
An=An*10+2;
Sn+=An;
}
printf("a+aa+aaa+...=%d\n",Sn);
}
11.求
(即求
)
#include<>
main()
{inti,b=1,j,sum=0;
for(i=1;i<=20;i++)
{for(j=1;j<=i;j++)
b=b*j;
sum=sum+b;
}
printf("%d",sum);
}
12.输出以下图案:
#include<>
main()
{
for(inti=1;i<7;i++,i++)
{
for(intj=1;j
printf("*");printf("\n");}
for(inti=5;i>0;i=i-2)
{
for(intj=1;j
printf("*");printf("\n");}
}
13.求一个
的整型矩阵对角线元素之和。
#include<>
voidmain()
{
inta[3][3],i,j,sum=0;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{
scanf("%d",&a[i][j]);
}
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{
printf("%d",a[i][j]);;
printf("\n");
}
14.将一个数组中的值按逆序重新存放。
例如,原来顺序为8,6,5,4,1。
要求改为1,4,5,6,8。
#include<>
#defineN10
voidmain()
{
inta[N],i,temp;
printf("请输入%d个整数:
\n",N);
for(i=0;i scanf("%d",&a[i]); printf("输入的数字是: \n"); for(i=0;i printf("%3d",a[i]); printf("\n"); for(i=0;i { temp=a[i]; a[i]=a[N-1-i]; a[N-1-i]=temp; } printf("重新排序后的数组是: \n"); for(i=0;i printf("%3d",a[i]); printf("\n"); } 15.编一个程序,将两个字符串连接起来,不要用strcat。 #include<> voidxstrcat(str1,str2) { inti,len1; for(i=0;str1[i]! ='\0';i++); len1=i; for(i=0;str2[i]! ='\0';i++) str1[i+len1]=str2[i]; } 16.写一个判断素数的函数,在主函数输入一个整数,输出是否素数的信息。 #include"" #include<> intss(intn) {intk; for(k=2;k<=sqrt(n);k++) if(n%k==0)return0; return1; } main() { intx; scanf("%d",&x); if(ss(x)) printf("YES\n"); else printf("NO\n"); } 17.写一个函数,使给定的一个 的二维整型数组转置,即行列互换。 #include"iostream" usingnamespacestd; intmain(void) { inta[3][3]; intb[3][3]; inti=0,j=0; for(i=0;i<3;i++) { for(j=0;j<3;j++) { cin>>a[i][j]; } } for(i=0;i<3;i++) { for(j=0;j<3;j++) {
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程 书面 作业 答案