代码如下:
//一个人赶着鸭子去每个村庄卖,每经过一个 村子卖去所赶鸭子的一半又一只。
//这样他经过了 七个村子后还剩 两只鸭子,
//问问他出发时共赶多少只鸭子?经过每个村子卖出多少只鸭子?
#include <stdio.h>
int main(int argc, const char *argv[])
{
int m=2,m1=0,sum;
for(int i=7;i>=1;i--)
{
m1=m;
m=(m+1)*2;
printf("小黑子经过第%d个村子时有%d只鸭子 \t 卖出%d只小黑鸭子 \t 还剩%d只\n",i,m,m-m1,m1);
}
printf("小黑子共赶鸭子%d\n",m);
return 0;
}
运行结果如下:
ubuntu@ubuntu:20221110$ gcc homework2.c
ubuntu@ubuntu:20221110$ ./a.out
小黑子经过第7个村子时有6只鸭子 卖出4只小黑鸭子 还剩2只
小黑子经过第6个村子时有14只鸭子 卖出8只小黑鸭子 还剩6只
小黑子经过第5个村子时有30只鸭子 卖出16只小黑鸭子 还剩14只
小黑子经过第4个村子时有62只鸭子 卖出32只小黑鸭子 还剩30只
小黑子经过第3个村子时有126只鸭子 卖出64只小黑鸭子 还剩62只
小黑子经过第2个村子时有254只鸭子 卖出128只小黑鸭子 还剩126只
小黑子经过第1个村子时有510只鸭子 卖出256只小黑鸭子 还剩254只
小黑子共赶鸭子510
ubuntu@ubuntu:20221110