SeqSum: Sum of Consecutive Ints Equal to n

  • Thread starter Thread starter Dr.Brain
  • Start date Start date
  • Tags Tags
    Sum
Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
1 reply · 3K views
Dr.Brain
Messages
539
Reaction score
2
Write a program called seqsum (source code: seqsum.c) that reads an integer n from the keyboard, and that prints all sequences of consecutive integers whose sum is equal to n. For example, if the input was 30, the program should print out
4,5,6,7,8
6,7,8,9
9,10,11

--------------------------------------------------------

This is the code i wrote...and it gives no errors...but after running it when i input the number 'n' and press enter..it does nothing... :(

main()
{
int i,j,k,m,n;
printf("Input number : \n");
scanf("%d" , &n);
for(i=1;i<=(n/2);i++)
{ k=0;
for(j=i;j<=(n/2+1);j++)
{ k+=j;
if(k==n)
{ for(m=i;m<=j;m++)
printf("%f \t ",m); }
printf("\n");
}
}
}
 
Physics news on Phys.org
The code tag is your friend...
Code:
main() {
   int i,j,k,m,n;
   printf("Input number : \n");
   scanf("%d" , &n);
   for(i=1;i<=(n/2);i++) {
      k=0;
      for(j=i;j<=(n/2+1);j++) {
         k+=j;
         if(k==n) {  
            for(m=i;m<=j;m++)
               printf("%f \t ",m);
         }
         printf("\n");
      }
   }
}

Just for fun, you might want to check whether scanf is returning 0.
Why are you using %f in printf when m is an integer?