晨曦到日暮 发表于 2018-1-15 21:05:04

24题

本帖最后由 晨曦到日暮 于 2018-1-15 21:06 编辑

24.编写程序,计算1~100中能被5整除的所有数的和。要求定义并调用函数div(n),当n能被5整除时返回1,否则返回0。
#include<stdio.h>
#include<math.h>
int main()
{
int i,sum;
sum=0;
for(i=0;i<=100;i++)
{
if(i/5==0)
sum+=i;
return 1;
else if
return 0;
}
printf("1~100中能被5整除的所有数的和为:%d",&sum);
}
C:\Users\Administrator\Desktop\Cpp1.cpp(12) : error C2181: illegal else without matching if
C:\Users\Administrator\Desktop\Cpp1.cpp(13) : error C2059: syntax error : '}'
Error executing cl.exe.

BngThea 发表于 2018-1-15 21:19:40

函数不是这样写的
printf里面后面的变量前面不要加&

晨曦到日暮 发表于 2018-1-15 21:43:09

BngThea 发表于 2018-1-15 21:19
函数不是这样写的
printf里面后面的变量前面不要加&

谢谢提醒{:10_256:}

orino 发表于 2018-1-15 21:43:25

你的另一个求助贴也是这个问题,printf和scanf不同,scanf需要知道变量的地址,将输入的数据放入该地址中,所以参数是加取变量地址的&a, 而printf是直接从变量获取值,所以一般直接用变量名a就好了,当然,如果是数组字符串之类的,例如a, printf("&s", a);这里还是用变量名,虽然这个变量也是地址。这里要好好区分一下

orino 发表于 2018-1-15 21:44:52

还有问题嘛,没有的话麻烦采纳{:5_110:}

晨曦到日暮 发表于 2018-1-15 21:45:22

C:\Users\Administrator\Desktop\Cpp1.cpp(12) : error C2181: illegal else without matching if
C:\Users\Administrator\Desktop\Cpp1.cpp(13) : error C2059: syntax error : 'return'
Error executing cl.exe.
#include<stdio.h>
#include<math.h>
int main()
{
int i,sum;
sum=0;
for(i=0;i<=100;i++)
{
if(i/5==0)
sum+=i;
return 1;
else if
return 0;
}
printf("1~100中能被5整除的所有数的和为:%d",sum);
}

BngThea 发表于 2018-1-16 09:04:28

晨曦到日暮 发表于 2018-1-15 21:45
C:%users\Administrator\Desktop\Cpp1.cpp(12) : error C2181: illegal else without matching if
C:%user ...

#include<stdio.h>
#include<math.h>
int div(int n)
{
        if (n % 5 == 0)
                return 1;
        return 0;
}
int main()
{
        int i,sum;
        sum=0;
        for(i=0;i<=100;i++)
        {
                if (div(i))
                        sum += i;
        }
        printf("1~100中能被5整除的所有数的和为:%d",sum);
        return 0;
}

晨曦到日暮 发表于 2018-1-16 14:05:46

BngThea 发表于 2018-1-16 09:04


谢谢{:10_297:}
页: [1]
查看完整版本: 24题