如图
自建seven函数的返回值直接打印可以正常输出,如果加一个if判断返回值是否为0则无法输出。
附代码
#include <stdio.h>
int seven(int n );
int main (){
int a[10];
int i;
printf("请输入十个整数:");
for(i = 0;i < 10;i++){
scanf("%d",&a[i]);
}
printf("数字之和为7的数有:");
for(i = 0;i < 10;i++){
printf("%d\t",seven(a[i]));
}
}
int seven(int n ){
int sum;
int m;
m= n;
while(n!=0)
{
sum += n%10;
n /= 10;
}
if (sum==7){
return m;//是7
}
else
return 0;
}
如上这样写就可以正常输出
#include <stdio.h>
int seven(int n );
int main (){
int a[10];
int i;
printf("请输入十个整数:");
for(i = 0;i < 10;i++){
scanf("%d",&a[i]);
}
printf("数字之和为7的数有:");
for(i = 0;i < 10;i++){
if(seven(a[i]))
printf("%d\t",seven(a[i]));
}
}
int seven(int n ){
int sum;
int m;
m= n;
while(n!=0)
{
sum += n%10;
n /= 10;
}
if (sum==7){
return m;//是7
}
else
return 0;
}
这样写就不会输出