我是靠谱客的博主 悲凉吐司,最近开发中收集的这篇文章主要介绍5.17一练: c语言循坏--计数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

题目:编写一个程序,计算在区间1到n的所有整数中,数字x(0<=x<=9)共出现了多少次?

注意:11就为1出现了2次

输入第一个数为n        第二个数为x

在1到11中,即在1,2,3,4,5,6,7,8,9,10,11中数字1出现了4次

例子:

输入    11    1

输出    4

第一次错误源码:

#include<stdio.h>
int main(void) 
{
	int n,x,a=10,b,j=0;//x大小0到9 
	scanf("%d",&n);
	scanf("%d",&x);
	int i;
	for(i=1;i<=n;i++)
	{
	while(i!=0)
	{
			b=i%10;//取出个位数 
			if(b==x)
			{
				j++;
			 } 
		i=i/10;
	}
	}	
		
		printf("%d",j);
	}
	
	
	

改正后的源码(找个中间变量记录,while中的i与for中的i冲突,i的值改变,改循坏的次数达到不了)

#include<stdio.h>
int main(void) {
 int n, x, a = 10, b, j = 0; //x大小0到9
 scanf("%d", &n);
 scanf("%d", &x);
 int i;
 int temp;
 for (i = 1; i <= n; i++) {
  temp=i;//这个i在for中还是要用的,如果直接是i放到while中去的话,i的值就改变了
  while (temp != 0) {
   b = temp % 10; //取出个位数
   if (b == x) {
    j++;
   }
   temp = temp / 10;
  }
 }

 printf("%d", j);
}

加油!

                                                                                                                                         5.17

最后

以上就是悲凉吐司为你收集整理的5.17一练: c语言循坏--计数的全部内容,希望文章能够帮你解决5.17一练: c语言循坏--计数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(89)

评论列表共有 0 条评论

立即
投稿
返回
顶部