1.写一个函数,其功能是求两个数中较小者
#include <stdio.h>
/*写一个函数,其功能是求两个数中较小者*/
int Min(int a,int b);
int main()
{
int a=0,b=0;
printf("请输入两个整数:\n");
scanf("%d%d",&a,&b);
int min=Min(a,b);
printf("min=%d\n",min);
return 0;
}
int Min(int a,int b)
{
int min=0;
min = (a<b)?a:b;
return min;
}
运行结果:
请输入两个整数:
15 17
min=15
2.编写符号函数:
1 x>0
sign(x) = 0 x=0
-1 x<0
在主函数中输入一个整数,调用 sign 函数并输出其符号函数的值。、
#include <stdio.h>
/*编写符号函数:
1 x>0
sign(x) = 0 x=0
-1 x<0
在主函数中输入一个整数,调用 sign 函数并输出其符号函数的值。*/
int SymFun(int a);
int main()
{
int x=0;
printf("请输入一个整数:\n");
scanf("%d",&x);
int f=SymFun(x);
printf("sign(%d)=%d\n",x,f);
return 0;
}
int SymFun(int a)
{
int num=0;
if(a>0)
{
num=1;
//return 1;//可以直接返回数
}
else if(a<0)
{
num=-1;
//return -1;
}
else
{
num=0;
//return 0;
}
return num;
}
运行结果:
请输入一个整数:
100
sign(100)=1
请输入一个整数:
-100
sign(-100)=-1
请输入一个整数:
0
sign(0)=0
3.写一个函数,其功能是计算 m 到 n(设 m<n)之间所有整数的和.然后利用它计算并输出 1到 10、10 到 20、400 到 600 的和.
#include <stdio.h>
/*写一个函数,其功能是计算 m 到 n(设 m<n)之间所有整数的和.然后利用它计算并输出 1
到 10、10 到 20、400 到 600 的和.*/
int Sum(int a,int b);
int main()
{
int m=0,n=0;
printf("请输入2个整数分别为m和n(m<n):\n");
scanf("%d%d",&m,&n);
int sum=Sum(m,n);
printf("%d到%d之间所有整数的和为%d\n",m,n,sum);
return 0;
}
int Sum(int a,int b)
{
int sum=0;
while(a<=b)
{
sum+=a;
a++;
}
return sum;
}
运行结果:
请输入2个整数分别为m和n(m<n):
1 10
1到10之间所有整数的和为55
请输入2个整数分别为m和n(m<n):
10 20
10到20之间所有整数的和为165
请输入2个整数分别为m和n(m<n):
400 600
400到600之间所有整数的和为100500
4.编写一个程序,该程序使用一个函数来计算用户输入的 5 个 float 值得平均值
#include <stdio.h>
/*编写一个程序,该程序使用一个函数来计算用户输入的 5 个 float 值得平均值*/
float Avg(float *p);
int main()
{
float a[5]={0};
printf("请输入5个数:\n");
for(int i=0;i<5;i++)
{
scanf("%f",&a[i]);
}
float avg=Avg(a);
printf("5个整数的平均值为%f\n",avg);
return 0;
}
float Avg(float *p)//p=&num[0]
{
float sum=0;
for(int i=0;i<5;i++)
{
sum+=*(p+i);
}
float avg=sum/5;
return avg;
}
运行结果:
请输入5个数:
1.11 2.22 3.33 4.44 5.55
5个整数的平均值为3.330000
5.从键盘输入一个表示年份的数( 1000-4000),判断该年是否闰年,并输出对应提示信息
( 闰年的计算算法是能被4整除,不能被100整除,则是闰年,结束;或能被400整除,则是闰年,结束)
#include <stdio.h>
/*从键盘输入一个表示年份的数( 1000-4000),判断该年是否闰年,并输出对应提示信息
( 闰年的计算算法是能被4整除,不能被100整除,则是闰年,结束;或能被400整除,则是闰年,结束)*/
void Judge(int a);
int main()
{
int year = 0;
printf("请输入年份:\n");
scanf("%d",&year);
Judge(year);
return 0;
}
void Judge(int a)
{
if((a%4==0&&a%100!=0)||a%400==0)
{
printf("%d是闰年\n",a);
}
else
{
printf("%d不是闰年\n",a);
}
return;
}
运行结果:
请输入年份:
2024
2024是闰年
6.编写程序,将用户输入的字符串中的所有的字符a用指定字符作代替,然后输出
#include <stdio.h>
/*编写程序,将用户输入的字符串中的所有的字符a用指定字符作代替,然后输出*/
void Replace(char *w,char a);
int main()
{
char buf[32]={0};
char z=0;
printf("请输入代替字符:\n");
scanf("%c",&z);
printf("请输入字符串:\n");
scanf("%s",buf);
getchar();//接收回车键
Replace(buf,z);
printf("代替后:%s\n",buf);
return 0;
}
void Replace(char *p,char z)
{
while(*p)
{
if(*p=='a')
{
*p=z;
}
p++;
}
return;
}
运行结果:
请输入代替字符:
*
请输入字符串:
abcdabcd
代替后:*bcd*bcd
7.用函数实现求1+1/2+1/3+1/4+……1/n的值
#include <stdio.h>
/*用函数实现求1+1/2+1/3+1/4+……1/n的值*/
float Sum(int n);
int main()
{
int n=0;
printf("n=");
scanf("%d",&n);
float sum=Sum(n);
printf("1+1/2+1/3+1/4+……1/%d=%.3f\n",n,sum);
return 0;
}
float Sum(int n)
{
int a=0;
float sum=0;
for(a=1;a<=n;a++)
{
sum+=(float)(1.0/a);
}
return sum;
}
运行结果:
n=6
1+1/2+1/3+1/4+……1/6=2.450