eobeom 发表于 2020-9-21 04:33:33

小白求助 怎么让第二个程序输出和第一个程序一样

有两个程序 第一个程序是完整的 第二个程序是残缺的 要在第二个程序的int sum_of_3(){ 和return 0;}之间添加语句 使得两个程序相同 该怎么写
#include <stdio.h>

int main(void) {
        int b,e;
        int s,i;

        scanf("%d%d", &b,&e);

        s=0;
        for (i=b;i<=e;i=i+1)
        if (i%3==0)
                s = s+i;

        printf("sum == %d\n",s);
        return 0;
}
这是第一个完整的程序↑


#include <stdio.h>

int sum_of_3(){
        //在这里补充语句
       
        return 0;
}

int main(void){
        int b,e;
       
        scarf("%d%d",&b,&e);
       
        printf("sum==%d\n",sum_of_3(b,e));
        return 0;
}
这是要补充的语句↑

eobeom 发表于 2020-9-21 04:40:20

还有一个也是相同的问题 第一个是完整的 第二个是要补充的 请问应该怎么写呀
#include <stdio.h>

int main(void) {
        int b,e,n;
        int v;

        scanf("%d%d%d", &b,&e,&n);

        for (v=b;v<=e && !(n%v==0);v=v+1)
                ;
        if (v<=e)
                printf("found.\n");
        else
                printf("not found.\n");

        return 0;
}
完整的

#include <stdio.h>

int is_found(){
        //在这里补充
       
        return 0;
}

int main(void){
        int b,e,n;
       
        scarf("%d%d%d",&b,&e,&n);
       
        if (is_found(b,e,n))
          printf("found.\n");
        else
          printf("not found.\n")
       
        return 0;
}
需要补充的

请问如何补充 谢谢

baige 发表于 2020-9-21 06:39:47

本帖最后由 baige 于 2020-9-21 06:42 编辑

#include <stdio.h>

int sum_of_3(int begin, int end) {
    int ans = 0;
    while (begin <= end) {
      if (begin % 3 == 0) {
            ans += begin;
      }
      begin++;
    }

    return ans;
}

int main(void) {
    int b, e;

    scanf("%d%d", &b, &e);

    printf("sum == %d\n", sum_of_3(b, e));
    return 0;
}

baige 发表于 2020-9-21 06:48:51

第二段代码是你自己写的吧,scanf都拼错了,而且想要结果相同,你让子函数返回值0,主函数输出子函数的返回值,结果不可能相同
另外最简单的就是直接把完整的代码那部分复制上去,最后把结果返回
如:
#include <stdio.h>

int sum_of_3(int b, int e) {
   
    int s = 0, i;
    for (i = b; i <= e; i = i + 1)
      if (i % 3 == 0)
            s = s + i;
    return s;
}

int main(void) {
    int b, e;

    scanf("%d%d", &b, &e);

    printf("sum == %d\n", sum_of_3(b,e));
    return 0;
}

baige 发表于 2020-9-21 06:52:50

#include <stdio.h>

int is_found(int b, int e, int n){
      //在这里补充
      int v;
      for (v=b;v<=e && !(n%v==0);v=v+1)
                ;
      if(v<=e)return 1;
      return 0;
}

int main(void){
      int b,e,n;
      
      scanf("%d%d%d",&b,&e,&n);
      
      if (is_found(b,e,n))
          printf("found.\n");
      else
          printf("not found.\n");
      
      return 0;
}
页: [1]
查看完整版本: 小白求助 怎么让第二个程序输出和第一个程序一样