发子弹(C语言程序设计)

题目描述

在某次实弹射击训练中,班长将十个战士围成一圈发子弹。首先,班长给第一个战士10颗,第二个战士2颗,第三个战士8颗,第四个战士22颗,第五个战士16颗,第六个战士4颗,第七个战士10颗,第八个战士6颗,第九个战士14颗,第十个战士20颗。然后按如下方法将每个战士手中的子弹进行调整:所有的战士检查自己手中的子弹数,如果子弹数为奇数,则向班长再要一颗。然后每个战士再同时将自己手中的子弹分一半给下一个战士(第10 个战士将手中的子弹分一半给第1个战士)。问需要调整多少次后,每个战士手中的子弹数都相等?每人各有多少颗子弹?
输入与输出要求:输出为各战士手中原始的子弹数,每轮交换过后各战士手中的子弹数,直到各战士手中的子弹数相等为止。原始子弹数即为第0轮交换。注意程序运行效果中的“xx”应为实际交换后的子弹数。

 

程序运行效果:
Sample 1:
0: 10 2 8 22 16 4 10 6 14 20
1: xx xx xx xx xx xx xx xx xx xx
2: xx xx xx xx xx xx xx xx xx xx
……

程序代码:

#include<stdio.h>
int main(void)
{
    int num[10] = { 10,2,8,22,16,4,10,6,14,20 };//定义数组
    int add[10] = { 0 };
    int i;
    int k = 1;
    printf("0: 10 2 8 22 16 4 10 6 14 20\n");
    while (num[0] !
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的C语言示例代码,用于实现子弹设计: ```c #include <stdio.h> #include <stdlib.h> typedef struct { int caliber; // 子弹口径 int velocity; // 子弹速度 } Bullet; void designBullet(int caliber, int velocity, Bullet* bullet) { bullet->caliber = caliber; bullet->velocity = velocity; } void printBullet(Bullet bullet) { printf("子弹口径:%d mm\n", bullet.caliber); printf("子弹速度:%d m/s\n", bullet.velocity); } int main() { int caliber, velocity; Bullet bullet; printf("请输入子弹口径(单位:mm):"); scanf("%d", &caliber); printf("请输入子弹速度(单位:m/s):"); scanf("%d", &velocity); designBullet(caliber, velocity, &bullet); printf("\n设计的子弹信息如下:\n"); printBullet(bullet); return 0; } ``` 这个程序中,我们定义了一个名为`Bullet`的结构体,其中包含了子弹的口径和速度两个属性。`designBullet`函数用于根据输入的口径和速度来设计子弹,将结果保存在传入的`bullet`指针指向的内存空间中。`printBullet`函数用于打印子弹的口径和速度。 在`main`函数中,我们首先通过用户的输入获取子弹的口径和速度。然后调用`designBullet`函数来设计子弹,并将结果保存在`bullet`变量中。最后,调用`printBullet`函数来打印设计好的子弹的口径和速度。 运行程序后,程序会要求用户输入子弹的口径和速度。然后,程序会将输入的信息进行处理,并输出设计好的子弹的口径和速度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值