这样写为什么错了对于正整数 nn,定义 s(n)s(n) 的值是数位和恰好为 nn 的最小正整数


//#include
//int main()
//{
//    int n=0;
//    int temp=0;
//    int sum=0;
//    int count=0;
//    scanf("%d",&n);
//   for(int i=1;i<100;i++)
// {
//     temp=i;
//    while(temp>0)
//   {
//      count=temp%10;
//      sum+=count;
//      temp/=10;
//   }
//   if(sum==n)
//   {
//     printf("%d",sum);
//   }
// }
//}

img

sum要在每次for循环时初始化为0

 
#include<stdio.h>
int main()
{
    int n=0;
    int temp=0;
    int sum=0;
    int count=0;
    scanf("%d",&n);
   for(int i=1;i<100;i++)
 {
     temp=i;
     sum = 0;
    while(temp>0)
   {
      count=temp%10;
      sum+=count;
      temp/=10;
   }
   if(sum==n)
   {
     printf("%d ",i);
   }
 }
}