您的位置:首页 > 其它

ccf真题---2019.12-1报数

2020-02-06 17:01 239 查看


思路:
1.使用一个一直增加的数i表示报数
2.使用一个数组skip【4】分别表示甲乙丙丁跳过的次数
3.根据题目测试的是3位数一下的数,当被7整除,或者含有7时就让skip【k】+1.
4.使用k表示数组下标,由于只有四个人,故K=(K+1)%4

#include<cstdio>

int main (void)
{
int n;								//输入需要报多少个数,游戏结束
scanf("%d",&n);

int i=0 ,cnt =0,skip[4] = {0};		//用++i来表示报数过程,cnt++表示报了多少个数(是7的倍数或者含7不自增)
int k=0;

while(cnt<n)
{
i++;
if((i%7==0) || i/100 == 7 || (i/10%10==7) || ((i%10)==7)) 	//含有7或者能被7整除的时候跳过计数
{
skip[k]++;					//skip[0],skip[1],skip[2],skip[3]分别表示甲乙丙丁各自跳过的次数
}
else
cnt++;
k=(k+1)%4;						//确定报数的轮次
}
for(int i=0;i<4;i++)
{
printf("%d\n",skip[i]);
}
return 0;
}
  • 点赞
  • 收藏
  • 分享
  • 文章举报
pounds008 发布了12 篇原创文章 · 获赞 0 · 访问量 131 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: