作业

本文提供了一系列C语言编程实例,涵盖变量赋值、数值运算、条件判断、循环结构、函数调用等多个方面,通过实例帮助读者深入理解C语言的语法和编程技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一章

第二章

下面程序为变量x,y,z赋初值2.5,然后在屏幕上打印这些变量的值。程序中存在错误,请改正错误,并写出程序的正确运行结果.
#include <stdio.h>
int main()
{
float x = 2.5, y = 2.5, z = 2.5;
printf(“These values are :\n”);
printf(“x = %f\n”, x);
printf(“y = %f\n”, y);
printf(“z = %f\n”, z);
return 0;
}

第三章

(1)参考例3.1程序,从键盘任意输入一个3位整数,编程计算并输出它的逆序数(忽略整数前的正负号)。例如,输入-123,则忽略负号,由123分离出其百位1、十位2、个位3,然后计算3100+210+1 = 321,并输出321.

#include<stdio.h>
int main()
{
int math,a,b,c,sum;
printf(“请输入一个数:”);
scanf("%d",&math);
a=math/100;
b=(math-100a)/10;
c=math-(100a+10b);
sum=c100+b10+a;
printf("%d",sum);
return 0;
}

(2)设银行定期存款的年利率rate为2.25%,已知存款期为n年,存款本金为capital元,试编程计算并输出n年后的本利之和deposit.

#include<stdio.h>
int main()
{
int capital,year;
float rate=0.0225;
printf(“请输入本金和年份:”);
scanf("%d%d",&capital,&year);
printf(“本利之和:%f”,(ratecapitalyear+capital));
return 0;
}

(3)编程计算并输出一元二次方程ax2+bx+c=0的两个实根,aacbb242,其中a,b,c的值由用户从键盘输入,假设a,b,c的值能保证方程有两个不相等的实根(即b2-4ac>0)。

#include<stdio.h>
#include<math.h>
int main()
{
float a,b,c,q,p;
printf(“请输入三个数计算实根:”);
scanf("%d%d%d",&a,&b,&c);
q=sqrt(bb-4ac)/2a;
p=-(b/2a);
printf(“实根1为:%f 实根2为:%f”,(p+q),(p-q));
return 0;
}

第四章

(1)要使下面程序在屏幕上显示1,2,34,则从键盘输入的数据格式应为:1234或者12 34
#include<stdio.h>
main()
{
char a,b;
int c;
scanf("%c%c%d",&a,&b,&c);
printf("%c,%c,%d\n",a,b,c);
}
(2)在与上面程序的键盘输入相同的情况下,若将程序中的第7条语句修改为printf("%-2c%-2c%d\n", a, b, c);则程序的屏幕输出为:1 2 34
(3)要使上面程序的键盘输入数据格式为1,2,34,输出语句在屏幕上显示的结果也为1,2,34,则应将程序中的第6条语句修改为:
#include <stdio.h>
int main()
{
char a,b;
int c;
scanf("%c,%c,%d",&a,&b,&c);
printf("%c,%c,%d\n",a,b,c);
return 0;
}
(4)在(3)的基础上程序仍然输入1,2,34,若将程序中的第7条语句修改为printf("’%c’,’%c’,%d\n", a, b, c);则程序的屏幕输出为:‘1’,‘2’,34
(5)要使上面程序的键盘输入无论用下面哪种格式输入数据,程序在屏幕上的输出结果都为1, 2,34,则应将程序中的第6条语句修改为:scanf("%c%*c%c%*c%d", &a, &b, &c);
第1种输入方式:1,2,34↙(以逗号作为分隔符)
第2种输入方式:1 2 34↙(以空格作为分隔符)
第3种输入方式:1 2 34↙(以Tab键作为分隔符)
第4种输入方式:1↙2↙34↙(以回车符作为分隔符)

第五章

(1)从键盘任意输入一个实数,不使用计算绝对值函数编程计算并输出该实数的绝对值。

#include<stdio.h>
int main()
{
int math;
printf(“请输入一个实数:”);
scanf("%d",&math);
if(math==0)
printf(“输入的数为0”);
else if(math<0)
printf(“输入的数的绝对值为:%d”,-(math));
else
printf(“输入的数的绝对值为:%d”,math);
return 0;
}

(2)从键盘任意输入一个整数,编程判断它的奇偶性。

#include<stdio.h>
int main()
{
int math;
printf(“输入一个整数:”);
scanf("%d",&math);
if(math0)
printf(“你输入的是0”);
else if(math%2
0)
printf("%d是偶数",math);
else
printf("%d是奇数",math);
return 0;
}

(3)在例3.8的基础上,从键盘任意输入三角形的三边长为a,b,c,编程判断a,b,c的值能否构成一个三角形,若能构成三角形,则计算并输出三角形的面积,否则提示不能构成三角形。已知构成三角形的条件是:任意两边之和大于第三边。

#include<stdio.h>
#include<math.h>
int main()
{
float a,b,c,area,p;
printf(“请输入三角行的三边:\n”);
scanf("%f%f%f",&a,&b,&c);
if(a>0&&b>0&&c>0)
{
if((a+b>c)&&(a+c>b)&&(b+c>a))
{
printf(“这三边能组成三角形\n”);
p=(a+b+c)/2;
area=sqrt(p*(p-a)(p-b)(p-c));
printf(“三角形的面积为:%f”,area);
}
else
printf(“这三边不能组成三角形\n”);
}
else
printf(“输入错误!”);
return 0;
}

(4)在习题3.4的基础上,从键盘任意输入a,b,c的值,编程计算并输出一元二次方程ax2+bx+c=0的根,当a=0时,输出“该方程不是一元二次方程”,当a≠0时,分b2-4ac>0、b2-4ac=0、b2-4ac<0三种情况计算并输出方程的根。

#include<stdio.h>
int main()
{
float a,b,c,q,p;
printf(“请输入三个数计算实根:”);
scanf("%d%d%d",&a,&b,&c);
if(a0)
printf(“该方程不是一元二次方程”);
else if(a!=0)
{
q=(bb-4ac)/2a;
p=-(b/2a);
if(q>0)
{
printf(“此方程有两个根:”);
printf(“实根1为:%f 实根2为:%f”,(p+q),(p-q));
}
else if(q
0)
printf(“此方程只有一个根:%f”,(p+q));
else
printf(“此方程无根”);
}
return 0;
}

第六章

(1)参考例6.4程序,编程计算并输出1到n之间的所有数的平方与立方。其中,n值由用户从键盘输入。

#include<stdio.h>
int main()
{
int i,math,temp_2,temp_3;
printf(“输入一个数计算1到这个数之间所有数的平方与立方:”);
scanf("%d",&math);
for(i=1;i<=math;i++)
{
temp_2=ii;
temp_3=iii;
printf("%d的平方为:%d,%d的立方为:%d\n",i,temp_2,i,temp_3);
}
return 0;
}

(2)某人在国外留学,不熟悉当地天气预报中的华氏温度值,请编程按每隔10°输出-40°到110°之间的华氏温度到摄氏温度的对照表,以方便他对照查找。已知华氏和摄氏温度的转换公式为C=5/9*(F-32),其中,C表示摄氏温度,F表示华氏温度.

#include<stdio.h>
int main()
{
float f=-40,c,i;
for(i=0;i<=15;i++)
{
c=5/9*(f-32);
printf("%f华氏温度等于%f摄氏温度\n",f,c);
f+=10;
}
return 0;
}

(3)假设银行一年整存零取的月息为1.875%,现在某人手头有一笔钱,他打算在今后5年中,每年年底取出1000元作为孩子来年的教育金,到第5年孩子毕业时刚好取完这笔钱,请编程计算第1年年初时他应存入银行多少钱.

#include<stdio.h>
int main()
{
int i;
float y;
y=1000/(1+120.01875);
for(i=0;i<5;i++)
{
y=(y+1000)/(1+120.01875);
}
printf(“需要存入银行:%d”,y);
return 0;
}

(4)输入一些整数,编程计算并输出其中所有正数的和,输入负数或零时,表示输入数据结束。要求最后统计出累加的项数。

#include<stdio.h>
int main()
{
int math,sum=0,con=1;
printf(“输入数字当遇到0或负数时停止加法:”);
while(con)
{
scanf("%d",&math);
if(math>0)
sum+=math;
else
con=0;
}
printf(“最终的和为:%d”,sum);
return 0;
}

(5)参考例6.14程序,输入一些整数,编程计算并输出其中所有正数的和,输入负数时不累加,继续输入下一个数。输入零时,表示输入数据结束。要求最后统计出累加的项数。

#include<stdio.h>
int main()
{
int math,sum=0,con=1;
printf(“输入数字当遇到负数时不计入遇到0时停止加法:”);
while(con)
{
scanf("%d",&math);
if(math>0)
sum+=math;
else if(math==0)
con=0;
else
sum=sum;
}
printf(“最终的和为:%d”,sum);
return 0;
}

(6)水仙花数是指各位数字的立方和等于该数本身的三位数。例如,153是水仙花数,因为153 = 13+33+53。请编程计算并输出所有的水仙花数

#include<stdio.h>
int main()
{
int math,a,b,c,temp;
printf(“输入一个数判断是否是水仙花数:”);
scanf("%d",&math);
a=math/100;
b=(math-a100)/10;
c=math-(a100+b10);
temp=aaa+bbb+ccc;
if(temp==math)
printf("%d是水仙花数",math);
else
printf("%d不是水仙花数",math);
return 0;
}

第七章

用函数编程计算两整数的最大值,在主函数中调用该函数计算并输出从键盘任意输入的两整数的最大值。

#include<stdio.h>
int main()
{
int max(int x,int y);
int math1,math2,max1;
printf(“输入两个数比较其中的最大值:”);
scanf("%d%d",&math1,&math2);
max1=max(math1,math2);
printf("%d是其中最大的值",max1);
return 0;
}
int max(int x,int y)
{
if(x>y)
return x;
else
return y;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值