当定义的函数在main函数后面时,需要进行函数说明:
如下列代码中的 void printstar();
说明格式为 数据类型 函数名(变量);
int main()
{
void printstar();//无参数函数;
void print_message();
printstar();
print_message();
printstar();
return 0;
}
void printstar()
{
printf("*****\n");
}
void print_message()
{
printf("陈朋最帅");
}
2.
int main()
{
int max(int x, int y);//声明这个函数;
//变量为形参;
int a, b, c;
scnanf("%d %d", &a, &b);
c = max(a, b);//实参;
printf("max is %d", c);
return 0;
}
int max(int x, int y)
{
int z;
z = x > y ? x : y;
return z;
}
3.
int main()
{
int max(float x, float y);
float a, b;
int c;//这里的类型和调用函数的返回值类型不相同,可能会造成数据丢失/
scanf("%f %f", &a, &b);
c = max(a, b);
printf("%d", c);
}
int max(float x, float y)
{
float z;
z = x > y ? x : y;
return z;
}
4.
//函数定义
int f(int a, int b)
{
int c;
if (a > b)
{
c = 1;
}
else if (a == b)
{
c = 0;
}
else//b>a;
c = -1;
return c;
}
int main()
{
//int f(int a, int b);
int i = 2, p;
p = f(i, ++i);
printf("%d\n", p);
return 0;
}//计算顺序为从右到左;
5.三个数找最大值的一种方法
int max(int x, int y)
{
int j;
if (x > y)
{
j = x;
}
else
j = y;
return j;
}
int main()
{
int a, b, c,d;
scanf(" %d %d %d",&a,&b,&c);
d= max(a, max(b, c));
printf("max=%d", d);
return 0;
}
6.
int main()
{
float add(float x, float y);//对被调用函数的声明;
float a, b, c;
scanf("%f %f", &a, &b);
c = add(a, b);
printf("sum is %f\n", c);
return 0;
}
float add(float x, float y)
{
float z;
z = x + y;
return z;
}
7.求一个数的平方;
int power(int x, int y)
{
int i,z=1;
for (i = 1; i <= y; i++)
{
z = z * x;
}
return z;
}
int main()
{
int a, b,c;
scanf("%d %d", &a, &b);
c = power(a, b);
printf("%d", c);
return 0;
}
8.统计换行符 空格 \t的个数
int main()
{
int c, nb, nt, nl;
nb = nt = nl = 0;
while ((c = getchar()) != EOF)
{
if(c==' ')
{
++nb;
}
if (c == '\t')
{
++nt;
}
if (c == '\n')
{
++nl;
}
}
return 0;
}
9.函数的嵌套调用:注意的是,函数不可以嵌套定义
main()
{
a();
}
a()
{
b();
}
b()
{
return;
}
10.求一个数的阶乘
int jiecheng(int j)
{
int i,sum=1;
for (i = 1; i <= j; i++)
{
sum = sum * i;
}
return sum;
}
int main()
{
int a,n;
scanf("%d", &a);
n = jiecheng(a);
printf("%d", n);
return 0;
}
11.求1*1+2*2+3*3......n*n的大小
int main()
{
int a,num=0;
scanf("%d", &a);
for (int i = 1; i <= a; i++)
{
num = num + i*i;
}
printf("%d", num);
return 0;
}