编写函数 int min(int x ,int y,int z),实现求出三个数中的最小值。要求在main函数中输入三个整数,然后调用min函数,最后将求得的最小值输出。
#include<stdio.h>
int min(int x,int y,int z)
{
int a,b;
a=x<y?x:y;
b=a<z?a:z;
return b;
}
int main()
{
int x,y,z,b;
scanf("%d %d %d",&x,&y,&z);
b=min(x,y,z);
printf("%d",b);
return 0;
}
编写函数 int rev (int x),实现将一个整数变换为自身的逆序数。要求在main函数中输入一个整数,然后调用rev函数,最后将求得的逆序数输出。
#include<stdio.h>
int rev(int x)
{
int y;
for(y=0;x>0;x=x/10){//x的值/10相当于把最后一位去掉了
y=y*10+x%10;//每次循环先把x的最后一位求出来,下次循环就升一位
}
return y;
}
int main()
{
int n;
scanf("%d",&n);
printf("%d",rev(n));
return 0;
}
编写函数 int leap(int x),实现判断x是否是闰年。如果是闰年函数返回值为1,否则为0,编写程序,在main函数中输入年份,然后调用leap函数,最后根据函数调用结果,输出"Yes"或者"No"。
#include<stdio.h>
int leap(int x)
{
if((x%4==0&&x%100!=0)||x%400==0){//判断为闰年的条件(普通:4的倍数且不是100的倍数,世纪://必须为400的倍数)
return 1;
}
return 0;
}
int main()
{
int y;
scanf("%d",&y);
if(leap(y)){
printf("Yes");
}
else {
printf("No");
}
return 0;
}
编写函数 int isAlp(char ch)判断一个字符是否是字母。要求在main函数中输入一个串,然后调用isalp函数来进行判断,从而统计字符串中字母的个数。
#include<stdio.h>
#include<string.h>
int isAlp(char ch)
{
if((ch>='A'&&ch<='Z')||(ch>='a'&&ch<='z')){
return 1;
}
return 0;
}
int main()
{
int n,x=0,i;
char ch[20];
gets(ch);
n=strlen(ch);
for(i=0;i<n;i++){
if(isAlp(ch[i])){
x++;
}
}
printf("%d",x);
return 0;
}
编写函数int isPer(int n)判断一个数n是否完数,是返回1,不是返回0,完数定义:如果一个数等于其所有真因子(不含自身)之和,则该数为完数,例如6的真因子有1,2,3,且6=1+2+3,所以6是完数。要求在main函数中求出2~1000中所有的完数,并输出。
#include<stdio.h>
int isPer(int n)
{
int i,sum=0;
for(i=1;i<=n/2;i++){
if(n%i==0){//可以整除,为真因子
sum+=i;//把每个真因子累加给sum
}
}
if(sum==n){
return 1;
}
return 0;
}
int main()
{
int i;
for(i=2;i<=1000;i++){
if(isPer(i)){
printf("%d ",i);
}
}
return 0;
}
6.编写函数 int isPal(int x)判断一个整数是否是回文数(倒着写正着写都相等),是返回1,不是返回0。要求在main函数中输
#include<stdio.h>
int rev(int x)//先写一个函数(倒序)方便以后调用
{
int y;
for(y=0;x>0;x=x/10){
y=y*10+x%10;
}
return y;
}
int isPal(int x)
{
if(x==rev(x)){
return 1;}
else {
return 0;}
}
int main()
{
int x;
scanf("%d",&x);
if(isPal(x)==1){
printf("Yes");
}
else {
printf("No");
}
return 0;
}
入一个整数,然后调用isPal函数来进行判断。