喜你 发表于 2021-11-1 23:32:54

for循环的疑问

假设for(int i=1;i<n;i++){
sum+=p;}
为什么在for循环内再写一个i++,它就不输出了

大马强 发表于 2021-11-2 07:07:38

你这哪有输出语句printf,那你想它凭空输出?
而且你问问题变量都没给全,如果n = 1就算里面有printf("%d",sum);它也不会输出
#include <stdio.h>

int main(void)
{
        int i;
        int n = 10,p=1,sum = 0;
       
      for(i= 1;i<n;i++)
                {
                        sum+=p;
                        printf("%d\n",sum);
}
      
      return 0;
}      
      
1
2
3
4
5
6
7
8
9
#include <stdio.h>

int main(void)
{
        int i;
        int n = 10,p=1,sum = 0;
       
      for(i= 1;i<n;i++)
                {
                        sum+=p;
                        printf("%d\n",sum);
                        i++;
}
      
      return 0;
}   
1
2
3
4
5

喜你 发表于 2021-11-2 11:47:22

#include<stdio.h>
int main()
{
    int n;
    scanf("%d",&n);
    n=3;
    int i=1,first=1;
while(i<n)
    {
    first*=10;
       i++;
    }
    i=first;
while(i<first*10)
    {
      int t = i;
      int sum =0;
      do{
      int d = t%10;
      t=t/10;
      int p = d;
          for(int j=1;j<n;j++)
         {
            p=p*d;
//这个位置多写了个i++; 就不能输出了
                   }
                  sum+=p;
    }while(t>0);
if(sum == i){printf("%d\n",i);
}
    i++;
    }
    return 0;
}

傻眼貓咪 发表于 2021-11-2 20:12:27

喜你 发表于 2021-11-2 11:47
#include
int main()
{


为什么要多写个 i++?代码不好吗?

傻眼貓咪 发表于 2021-11-2 20:17:13

#include <stdio.h>

int main()
{
    for(int a = 1; a <= 9; a++){
      for(int b = 0; b <= 9; b++){
            for(int c = 0; c <= 9; c++){
                if(a*a*a+b*b*b+c*c*c == a*100+b*10+c){
                  printf("%d\n", a*100+b*10+c);
                }
            }
      }
    }
    return 0;
}153
370
371
407

喜你 发表于 2021-11-3 10:02:06

傻眼貓咪 发表于 2021-11-2 20:12
为什么要多写个 i++?代码不好吗?

那会脑子不清晰,不过为什么加上就不对了呢
页: [1]
查看完整版本: for循环的疑问