1、在被调函数中计算一维数组的和,并返回给主调函数,在函数中打印
#include <stdio.h>
int fun(int s[],int n){
int sum=0;
int i;
for(i=0;i<n;i++){
sum+=s[i];
}
return sum;
}
int main(int argc, const char *argv[])
{
int n;
int s[20];
int i;
printf("请输入n的值:");
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%d",&s[i]);
}
int sum = fun(s,n);
printf("sum=%d\n",fun(s,n));
return 0;
}
结果为
2、在主函数输入字符串,在自定义函数计算字符串中空格的个数,并返回空格的个数
#include <stdio.h>
#include <string.h>
int fun(char s[]){
int i=0,count= 0;
for(i=0;i<strlen(s);i++){
if(s[i]==' '){
count++;
}
}
return count;
}
int main(int argc, const char *argv[])
{
char s[20];
gets(s);
printf("个数是%d\n",fun(s));
return 0;
}
结果为
3、在主函数输入二维数组,计算最大值,最小值,返回最大值和最小值的差
#include <stdio.h>
int fun(int s[20][20],int line,int row){
int i,j,max,min,count=0;
for(i=0;i<line;i++){
for(j=0;j<row;j++){
count++;
if(count==1){
max=min=s[i][j];
}
if(max<s[i][j]){
max=s[i][j];
}
if(min>s[i][j]){
min=s[i][j];
}
}
}
return max-min;
}
int main(int argc, const char *argv[])
{
int s[20][20];
int i,j;
int line,row;
printf("请输入行和列:");
scanf("%d %d",&line,&row);
for(i=0;i<line;i++){
for(j=0;j<row;j++){
scanf("%d",&s[i][j]);
}
}
fun(s,line,row);
printf("最大值和最小值的差:%d\n",fun(s,line,row));
return 0;
}
结果为