函数
#include<stdio.h>
int main()
{
int a,b,z;
int aa(int a, int b);//对aa函数进行声明(形参)
printf("请输入两个整数:");
scanf("%d %d", &a, &b);
z=aa(a,b);//给aa函数传递数据并调用aa函数(实参)
printf("max:%d", z);
return 0;
}
int aa(int a, int b)//形参
{
int max;
max = a > b ? a : b;
return max;//返回结果把结果赋值给c
}
//请输入两个整数:23 124
//max : 124
#include<stdio.h>
int main()
{
void a();//对a函数进行声明
void b();//对b函数进行声明
a();//调用a函数
b();//调用b函数
return 0;
}
void a()
{
printf("我是A\n");
}
void b()
{
printf("我是B\n");
}
#include<stdio.h>
int main()
{
int a,b,z;
int max(int a, int b);//对aa函数进行声明(形参)
printf("请输入两个整数:");
scanf("%d %d", &a, &b);
z=aa(a,b);//给aa函数传递数据并调用aa函数(实参)
printf("max:%d", z);
return 0;
}
int max(int a, int b)//形参
{
int c;
c= a > b ? a : b;
return c;//返回结果把结果赋值给z
}
//请输入两个整数:5 2
//max : 5
#include<stdio.h>
main()//自动转换成int main
{
}
#include<stdio.h>
int main()
{
float a, b;
float c;
float max(float a, float b);
printf("请输入两个数:");
scanf("%f %f", &a, &b);
c = max(a, b);//调用a函数
printf("max:%.3f", c);
return 0;
}
float max(float a, float b)
{
float z;
z = a > b ? a : b;
return z;
}
//请输入两个数:3.4 14.23
//max : 14.230
#include<stdio.h>
int main()
{
int f(int a, int b);
int i =2, p;
p = f(i, ++i);//自右向左的顺序求实参的值,f(3,3);
printf("%d\n", p);
return 0;
}
int f(int a, int b)
{
int c;
if (a > b)
{
c = 1;
}
else if (a == b)
{
c = 0;
}
else
{
c = -1;
}
return c;
}
//0
#include<stdio.h>
int main()
{
int f(int a, int b);//对f函数进行声明
}
int f(int a, int b)
{
}
#include<stdio.h>
#include<math.h>
int main()
{
double x = 2.0;
double y = 3.0;
printf("%lf\n", pow(x, y));
return 0;
}
//8.000000
#include<stdio.h>
int main()
{
double power(double a, double b);
double x = 2.0 ,y = 3.0;
double result;
result = power(x, y);
printf("%lf", result);
return 0;
}
double power(double a, double b)
{
double z;
double sum = a;
for (int i = 1; i <(int)b; i++)
{
z = sum * a;
sum = z;
}
//while(--b)
//{
// z = sum * a;
// sum = z;
//}
return sum;
}
//8.000000
#include<stdio.h>
#include<math.h>
int main()
{
double x = 4.0;
double result;
result = sqrt(x);//计算平方根
printf("%lf", result);
}
//2.000000
#include<stdio.h>
int main()
{
int sqrt(int b);
int x, y;
printf("请输入一个整数:");
scanf("%d", &x);
y = sqrt(x);
if (y < 0)
{
printf("输入错误\n");
}
else
{
printf("%d的平方根为:%d\n", x, y);
}
}
int sqrt(int b)
{
int temp = b / 2;
while (temp-->0)
{
if (temp * temp == b)
{
return temp;
}
}
return -1;
}
//请输入一个整数:9
//9的平方根为 : 3
#include<stdio.h>
int main()
{
int c, nb, nt, nl, na, nc,nA;
nb = 0, nt = 0, nl = 0, na = 0, nc = 0, nA=0;
while ((c = getchar()) != EOF)
{
if (c == ' ')
{
nb++;
}
if (c == '\t')
{
nt++;
}
if (c == '\n')
{
nl++;
}
if (c >= 'a' && c <= 'z')
{
na++;
}
if (c >= 'A' && c <= 'Z')
{
nA++;
}
if (c >= '1' && c <= '9')
{
nc++;
}
}
printf("空格有%d个\n制表符有%d个\n换行符有%d个\n小写字母有%d个\n大写字母有%d个\n数字有%d个\n", nb, nt, nl,na, nA,nc);
}
//abc ABC 123
//
//
//空格有2个
//制表符有2个
//换行符有3个
//小写字母有3个
//大写字母有3个
//数字有3个
#include<stdio.h>
int main()
{
int a();
a();
return 0;
}
int a()
{
printf("我是a函数\n");
int b();
b();
return 0;
}
int b()
{
printf("我是b函数\n");
return 0;
}
//我是a函数
//我是b函数
#include<stdio.h>
int main()
{
int first(int x, int y);
int a = 2;
int b = 3;
int result;
result=first(a, b);
printf("结果为:%d\n", result);
}
int first(int x, int y)
{
int s = x * x;
int z = y * y;
int result;
int second(int x, int y);
result =second(s, z);
return result;
}
int second(int x, int y)
{
int result;
int sum,num=1;
for (int i = x; i >= 1; i--)
{
sum = num * i;
num = sum;
}
int sums = 1;
for (int i = 1; i <= y; i++)
{
sums = sums * i;
}
result = sum + sums;
return result;
}
//结果为:362904
使用递归程序
#include<stdio.h>
int main()
{
int recursion(int n);
int a,result;
printf("请输入一个整形:");
scanf("%d", &a);
result = recursion(a);
printf("%d的阶乘为:%d\n",a,result);
}
int recursion(int n)
{
int temp;
if (n < 0)
{
printf("输入错误\n");
}
else if (n==0||n==1)//退出程序条件
{
temp = 1;
}
else
{
temp = recursion(n - 1) * n;
}
return temp;
}
//请输入一个整形:4
//4的阶乘为 : 24
使用普通程序
#include<stdio.h>
int main()
{
int a=4;
int c=1;
for (int i = 1; i <=a; i++)
{
c *= i;
}
printf("%d的阶乘为:%d", a,c);
}
//4的阶乘为 : 24
#include<stdio.h>
int main()
{
void hanoi(int n, char one, char two, char three);
int m;
printf("请输入盘子的数量:");
scanf("%d", &m);
hanoi(m, 'A', 'B', 'C');
}
void hanoi(int n,char one,char two,char three)
{
void move(char x, char y);
if (n==1) // 退出程序条件
{
move(one, three);
}
else
{
hanoi(n - 1, one, three, two);
move( one, three);
hanoi(n - 1, two, one, three);
}
}
void move(char x, char y)
{
printf("%c-->%c\n", x, y);;
}
//请输入盘子的数量:3
//A-- > C
//A-- > B
//C-- > B
//A-- > C
//B-- > A
//B-- > C
//A-- > C
#include<stdio.h>
void main()
{
void test(int v);
int a[10] = { 1,2,3,4,-1,-2,-3,-4,2,3 };
for (int i = 0; i < 10; i++)
{
test(a[i]);
}
}
void test(int v)
{
if (v > 0)
{
printf("%d\n", v);
}
else
{
printf("0\n");
}
}
//1
//2
//3
//4
//0
//0
//0
//0
//2
//3
#include<stdio.h>
void main()
{
void test(int b[10]);
int a[10] = { 1,2,3,4,-1,-2,-3,-4,2,3 };
test(a);
}
void test(int b[10])
{
for (int i = 0; i < 10; i++)
{
printf("%d ", b[i]);
}
}
//1 2 3 4 - 1 - 2 - 3 - 4 2 3
#include<stdio.h>
void main()
{
double score[10] = { 87.5,78,97.5,67,84,91,76.5,65,58,68 };
double result;
double average(double a[10]);
//double average(double a[]);
result=average(score);
printf("平均数为:%.2lf", result/10);
}
double average(double a[10])
//double average(double a[])
{
double result=0;
for (int i = 0; i < 10; i++)
{
result = result + a[i];
}
return result;
}
复合语句
#include<stdio.h>
int main()
{
int a=3,b=4;
if(a<b)
{
int max=b;//复合语句也可以定义变量
}
}
#include<stdio.h>
int s1, s2, s3;//全局变量
void main()
{
int vs(int a, int b, int c);
int l, w, h, v;
printf("请分别输入正方体的长宽高:");
scanf("%d %d %d", &l, &w, &h);
v = vs(l,w,h);
printf("正方体的体积为:%d,s1:%d,s2:%d,s3:%d", v,s1,s2,s3);
}
int vs(int a,int b,int c)
{
int v;//局部变量
v = a * b * c;
s1 = a * b;
s2 = b * c;
s3 = a * c;
return v;
}
//请分别输入正方体的长宽高:2 3 4
//正方体的体积为 : 24, s1 : 6, s2 : 12, s3 : 8
#include<stdio.h>
double max,min;
void main()
{
double score[10],a;
printf("请输入10位学生的分数:");
for (int i = 0; i < 10; i++)
{
scanf("%lf", &a);
score[i] = a;
}
double avg(double a[10]);
double result;
result = avg(score);
printf("平均分为:%.2lf\n", result / 10);
printf("最高分为:%.2lf\n", max);
printf("最低分为:%.2lf\n", min);
}
double avg(double a[10])
{
double avg = 0;
min= max = a[0];
for (int i = 0; i < 10; i++)
{
if (max < a[i])
{
max = a[i];
}
else if (min > a[i])
{
min = a[i];
}
avg = avg + a[i];
}
return avg;
}
//请输入10位学生的分数:87.5 78 97.5 67 84 91 76.5 65 58 68
//平均分为 : 77.25
//最高分为 : 97.50
//最低分为 : 58.00
#include<stdio.h>
void main()
{
double score[10], a;
printf("请输入10位学生的分数:");
for (int i = 0; i < 10; i++)
{
scanf("%lf", &a);
score[i] = a;
}
double result, results, resultss;
double avg(double a[10]);
double max(double b[10]);
double min(double c[10]);
result = avg(score);
printf("平均分为:%.2lf\n", result / 10);
results = max(score);
printf("最高分为:%.2lf\n", results);
resultss = min(score);
printf("最低分为:%.2lf\n", resultss);
}
double avg(double a[10])
{
double avg = 0;
for (int i = 0; i < 10; i++)
{
avg = avg + a[i];
}
return avg;
}
double max(double b[10])
{
double max = b[0];
for (int i = 0; i < 10; i++)
{
if (max < b[i])
{
max = b[i];
}
}
return max;
}
double min(double c[10])
{
double min = c[0];
for (int i = 0; i < 10; i++)
{
if (min > c[i])
{
min = c[i];
}
}
return min;
}
//请输入10位学生的分数:87.5 78 97.5 67 84 91 76.5 65 58 68
//平均分为 : 77.25
//最高分为 : 97.50
//最低分为 : 58.00
#include<stdio.h>
int f(int a)
{
auto int b = 0;//默认
static int c = 3;
b = b + 1;//1,1,1
c = c + 1;//4,5,6
return (a + b + c);//7,8,9
}
void main()
{
int a = 2;
for (int i = 0; i < 3; i++)
{
printf("%d\n", f(a));//2,2,2
}
}
//7
//8
//9
#include<stdio.h>
int f(int a)
{
static int result=1;
result = result * a;//1,2,6,24,120
return result;
}
void main()
{
for (int i = 1; i <= 5; i++)
{
printf("%d!=%d\n",i,f(i));
}
}
#include<stdio.h>
int f(int a)
{
register int result=1;
for (int i = 1; i <= a; i++)
{
result = result * i;
}
return result;
}
void main()
{
int result;
result=f(15);
printf("%d", result);
}
//2004310016
#include<stdio.h>
int max(int a,int b)
{
int z;
z = a>b?a:b;
return z;
}
void main()
{
extern A, B;//不管在那个位置,使用extern调用全局变量
printf("%d\n", max(A, B));
}
int A = 13, B = -8;//全局变量末尾
//13
```c
#include<stdio.h>
int max(int a,int b)
{
int z;
z = a>b?a:b;
return z;
}
void main()
{
A, B;//如果没有使用extern来调用全局变量,程序会报错。因为全局变量定义在末尾
printf("%d\n", max(A, B));
}
int A = 13, B = -8;//全局变量末尾
test1.c
#include<stdio.h>
int A;
void main()
{
int power(int n);
int result,m;
scanf("%d %d", &A, &m);//输入:2 3
result = power(m);//power(3)
printf("%d", result);//8
}
test2.c
extern A;//A=2
int power(int n)//n=3
{
int y = 1;
for (int i = 1; i <=n; i++)
{
y = y * A;//1*2=2,2*2=4,4*2=8;
}
return y;
}
//2 3
//8
或者直接定义在一个文件上
#include<stdio.h>
void main()
{
int power(int n,int m);
int result,A,B;
scanf("%d %d", &A, &B);//2 3
result = power(A,B);//power(2,3)
printf("%d", result);//8
}
int power(int n, int m)//power(2,3)
{
int y = 1;
for (int i = 1; i <= m; i++)
{
y = y * n;//1*2=2,2*2=4,4*2=8
}
return y;//8
}
//2 3
//8
test1.c
#include<stdio.h>
static int A;//这里增加了static不让别的文件引用
void main()
{
int power(int n);
int result,m;
scanf("%d %d", &A, &m);//输入:2 3
result = power(m);//power(3)
printf("%d", result);//8
}
test2.c
extern A;//A=2
int power(int n)//n=3
{
int y = 1;
for (int i = 1; i <=n; i++)
{
y = y * A;//1*2=2,2*2=4,4*2=8;
}
return y;
}
//报错
test1.c
#include<stdio.h>
int A;
void main()
{
int power(int n);//调用失败,因为power()被定义static为内部函数
int result,m;
scanf("%d %d", &A, &m);//输入:2 3
result = power(m);//power(3)
printf("%d", result);//8
}
test2.c
extern A;//A=2
static int power(int n)//n=3 添加了static之后该函数只能在本文本上被调用(内部函数)
{
int y = 1;
for (int i = 1; i <=n; i++)
{
y = y * A;//1*2=2,2*2=4,4*2=8;
}
return y;
}
//报错
test1.c
#include<stdio.h>
int A;
void main()
{
int power(int n);//调用power()函数
int result,m;
scanf("%d %d", &A, &m);//输入:2 3
result = power(m);//power(3)
printf("%d", result);//8
}
test2.c
extern A;//A=2
extern int power(int n)//n=3 添加了extern之后该函数能在其他本文本上被调用(外部函数),可以省略extern 不写,系统默认
{
int y = 1;
for (int i = 1; i <=n; i++)
{
y = y * A;//1*2=2,2*2=4,4*2=8;
}
return y;
}
//2 3
//8
#include<stdio.h>
int first(char str[100], char a);
void main()
{
char str[100];
char a;
printf("请输入一段字符:");
scanf("%s", &str);
printf("请输入要删除的一个字符:");
scanf(" %c", &a);
first(str, a);
printf("结果为:%s\n", str);
}
int first(char str[100], char ch)
{
int i, j;
for(i=j=0;str[i]!='\0'; i++)
{
if (str[i] != ch)
{
str[j++] = str[i];
}
}
str[j] = '\0';
}
//请输入一段字符:abcd
//请输入要删除的一个字符 : a
//结果为 : bcd