C语言期中考试+部分期末考试试题——SZ(期末的只有大题)

你好,我是罡罡同学!
代码谱第一页忘掉心上人,最后一页。。。。。。

打赏一点钱,帮我买包辣条,继续创作,谢大家!

在这里插入图片描述

C语言期中考试试题

3

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

#include<stdio.h>
double fact (int N);
int main(void)
{
    int i,N,sum;
    double  item;
    scanf("%d",&N);
    sum=0;
    for(i=1;i<=N;i++)
    {
        sum=sum+fact(i);
    }
    printf("%d",sum);
    return 0;
}
double fact (int N)
{
    int i;
    double result;
    result=1;
    for(i=1;i<=N;i++)
    {
     result=result*i;
    }
    return result;
}

==填空题 会的大佬,可以评论区 写一下哈 ==

————————————————————————————————————
————————————————————————————————————

下面是期末考试部分试题

只记得两个大题了。。。。。 其它的都挺简单的,大家应该没啥问题。(哈哈)
第一题:计算圆柱体的体积
在这里插入图片描述

直接上代码啦!

#include<stdio.h>
double cylinder(double r,double h)//构造函数,括号里的double不能忘!!!
{
 	double result;
 	result=3.1415926*r*r*h;
 	return result;
}
int main()
{
	 double r,h,volume;
	 scanf("%lf%lf",&r,&h);
	 volume=cylinder(r,h);//调用cylinder()函数 
	 printf("Volume = %.3lf",volume);
	 return 0;
}
	 

注意:
1 printf输出float和double都可以用%f,double还可以用%lf。
2 scanf输入float用%f,double输入用%lf,不能混用。

double、float都是浮点型。double(双精度型)比float(单精度型)存的数据更准确些,占的空间也更大。double精度是float的两倍,所以需要更精确的计算常使用double。
单精度浮点数在机内占4个字节,用32位二进制描述。
双精度浮点数在机内占8个字节,用64位二进制描述。
double 和 float 的区别是double精度高,但double消耗内存是float的两倍,double的运算速度比float慢得多,C语言中数学函数名称double 和 float不同,不要写错,能用单精度时不要用双精度(以省内存,加快运算速度)。

第二题 三色球问题

有红黄绿三种颜色的球,其中红球3个,黄球3个,绿球6个。现将这12个球混放在一个盒子中,从中任意摸出8个球,编程计算摸出球的各种颜色的搭配(或者是问一共有多少种)
在这里插入图片描述
上代码:

#include <stdio.h>
#define RED_BALL_NUM 3
#define YELLOW_BALL 3
#define GREEN_BALL 6
int main()
{
    int red, yellow, green;
    printf("red     yellow      green\n");
    for (red = 0; red <= RED_BALL_NUM; red++) {
        for (yellow = 0; yellow <= YELLOW_BALL; yellow++) {
            for (green = 0; green <= GREEN_BALL; green++) {
                if (red + yellow + green == 8) {
                    printf(" %d         %d          %d\n", red, yellow, green);
                }
            }
        }
    }
    return 0;
}

结果如下图:
在这里插入图片描述

如果问的是一共有多少种,并没有让打印出所有的结果,可以这么写

#include <stdio.h>
#define RED_BALL_NUM 3
#define YELLOW_BALL 3
#define GREEN_BALL 6
int main()
{
    int red, yellow, green,count=0;
    for (red = 0; red <= RED_BALL_NUM; red++) {
        for (yellow = 0; yellow <= YELLOW_BALL; yellow++) {
            for (green = 0; green <= GREEN_BALL; green++) {
                if (red + yellow + green == 8) {
                    count++;
                }
            }
        }
    }
    printf("一共有%d种",count);
    return 0;
}

结果如下图:
在这里插入图片描述
不管怎么问,关键就是三重for循环,掌握关键,怎么变都不怕!!!

祝大家C语言考试顺利!可以点关注点赞呀!整理不易

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

罡罡同学

您的鼓励是罡同学最大的前进动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值