扶我起来我还能敲几行 2021-04-06 13:01 采纳率: 100%
浏览 38
已采纳

想了大半天也不知道是哪里出了问题,求大佬帮忙解答!

问题:从1到40数字中,含有2、0、1、9这四个数字的数的和是多少?

我的代码:

#include <stdio.h>

int main()
{
	int sum = 0, n, t; 
	for(int i = 1; i <= 40; i++)
	{
		t = i;
		n = 0;
		while(t != 0)
		{
			t %= 10;
			if(t == 2 || t == 0 || t == 1 || t == 9)
			{
				n++;
			}
			t /= 10;
		}
		if(n != 0)
		{
			sum += i;
		}
	} 
	return 0;	
} 

不知道是哪里出了问题,一直得不到正确答案,还请大佬帮忙看看!

  • 写回答

4条回答 默认 最新

  • 爱晚乏客游 2021-04-06 13:17
    关注

    问题出在12和17行,你在12行执行完之后,你的t已经是个位数了,无论怎么样,执行完17行你的t都是0,并没有达到你想要的t是十位数的效果。

    
    int main()
    {
    	int sum = 0, n, m,t;
    	for(int i = 1; i <= 40; i++)
    	{
    		t = i;
    
    		n = 0;
    		while(t != 0)
    		{
    			m =t% 10;
    			if(m == 2 || m == 0 || m == 1 || m == 9)
    			{
    				sum+=i;
    				break;
    			}
    			t =t/ 10;
    		}
    	}
    	printf("%d",sum);
    	return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 使用C#,asp.net读取Excel文件并保存到Oracle数据库
  • ¥15 C# datagridview 单元格显示进度及值
  • ¥15 thinkphp6配合social login单点登录问题
  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配