2013c语言第5次作业答案

更新时间:2023-11-12 23:56:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

C语言第5次作业及答案

1:[论述题]8, 已知公鸡每只5元,母鸡每只3元,小鸡一元3只,现有100元买鸡100只,问其中公鸡、母鸡、小鸡各多少只?编程求解。

参考答案:8,提示:此题与上题类似,实际是求一个不定方程组,令公鸡有x只,母鸡

有y只,小鸡z只,进行C语言求解。 此题还有另外一些限制:只有100元,所以公鸡不超过20只,母鸡不超过33只。考虑这些限制可以提高程序运行效率 #include void main() {

int x,y,z,j=0;

printf(\ for(x=0;x<=20;x++) /*外层循环控制鸡翁数*/

for(y=0;y<=33;y++) /*内层循环控制鸡母数y在0~33变化*/ {

z=100-x-y; /*内外层循环控制下,鸡雏数z的值受x,y的值的制约*/

if(z%3==0&&5*x+3*y+z/3==100)

/*验证取z值的合理性及得到一组解的合理性*/ printf(\ } }

2:[论述题]7,一个笼子中有鸡兔各若干只,已知共有50只脚,20张嘴,问笼中各有鸡多少只,兔多少只?编程实现求解。

参考答案:7、提示:有嘴20张,有脚50只,考虑鸡有2只脚,兔有4只脚,鸡兔都只有一

张嘴,此题实际是计算一个二元一次方程组(令鸡有x只,兔有y只) main() {

int x,y;

for(x=1;x<20;x++) {

y=20-x;

if(2*x+4*y==50)

printf(\n”,x,y); } }

3:[论述题]6, 统计用户输入的10个正自然数中有多少偶数。

参考答案:6、提示:用户输入的数用数组存放,用数组元素对2求模,为0则为偶数,统

计出偶数个数即可 main() {

int a[10],n=0,i; for(i=0;i<10;i++)

scanf(\ for(i=0;i<10;i++)

if(a[i]%2==0) n++; printf(\ }

4:[论述题]5, 编写程序求得一维数组中的最大最小数,一维数组的值由用户输入。

参考答案:5、提示:使得一个变量max等于数组的第一个元素,然后把max依次和其

他元素进行比较,若max比某个元素小,则使max为此元素值,求得数组中最大数,最小数类似 main() {

int a[10],max,min,i; for(i=0;i<10;i++)

scanf(\ max=min=a[0]; for(i=0;i<10;i++) {

if(max

max=a[i]; else if(min>a[i])

min=a[i];

}

pirntf(\ }

5:[论述题]3, 编写一个程序,使得该程序能够由用户输入一个数,并根据该用户输入的数值输出相应行数和列数的\(如,用户输入5,则输出5行,每行5个\

参考答案:3,比较与第3题的区别后参照第3题编写实现

6:[论述题]2, 编写程序,使用三种循环语句实现以下输出(*之间有一个空格): * * * * * * * * * * * * * * * * * * * * * * * * * * * *

参考答案:2、提示:使用循环嵌套可以实现。第一层循环用于每行的输出,第二层循环

用于控制每行输出的\*”的个数,注意两层循环的标志量不能是相同的。 提供一种参考 main() {

int n,j;

for(n=0;n<7;n++) {

for(j=0;j<=n;j++) printf(\

printf(\n”); } }

7:[论述题]1. 编写一个程序,使得可以根据用户输入数值求下列分段函数的值。 (1) 当x<0时,y=-x; (2) 当x>10时,y=3x+5; (3) 当x为其他值时, y=2x-1。

参考答案:1、对于分段函数,使用if-else语句分情况求值即可

main() {

int y,x;

scanf(\ if (x<0) y=-x;

else if (x<=10)

y=2*x-1; else

y=3*x+5; }

本文来源:https://www.bwwdw.com/article/2nqv.html

Top