小弟我如何去掉那最后一个加号啊如何是都不行啊求大神指点迷津

我怎么去掉那最后一个加号啊?怎么是都不行啊?求大神指点迷津。
[code=c#include<stdio.h>

  void sum (int i ,int a);
   int main()
   { 
       int n,a,b,c,d;
   int i=2;
       scanf("%d",&n);
   sum (i,n);
       if(sum==0){
        printf("%d=%d",n,n);
   }else{
    printf("%d=",n);
    }
    b=n;
    do{
    d=b%i;
    if(d==0){
    b=b/i;
    sum(i,n);
    if(sum==0){
      printf("%d",i);
   }else{
     printf("%dx",i);
}}
   else{
    i++;
   }
   }while(i<n);
   
       return 0;                                 
   }
  void sum (int i,int n)
 {
  int a;
   for(i;i<n;i++){
if(n%i==0){ 
    a=1;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
}
   }a=0;
  }][/code]
------解决思路----------------------
还有sum函数有什么用,不返回值,也不输出,完全做的是无用功
------解决思路----------------------
1. sum函数没有返回值,调用者无法知道它结果
2.sum==0, 这种写法无效,可以是sum()==0, 但sum一定要有返回值
------解决思路----------------------

#include <stdio.h>

int isprime(int n)
{
    int i;

    for(i = 2; i < n; i++){
        if((n % i) == 0){
            return 0;
        }
    }
    return 1;
}

int main(int argc, char* argv[])
{
    int i;

    for(i = 3; i < 100; i++){
        if(isprime(i)){
            printf("%d\n", i);
        }
    }

    return 0;
}

------解决思路----------------------
哥们,你这代码风格要练啊,看着挺头晕的小弟我如何去掉那最后一个加号啊如何是都不行啊求大神指点迷津