今天的写作

#include<stdio.h>
#if 0
void main()
{
 int age(int n);//函数声明
 age(6);//函数调用
int age(int n)//函数定义
{
 int c; //变量 存放返回值
 if(n == 1)//终止条件
  c = 10;
 else
  c = age(n-1)+2;//调用函数本身 递归
 printf("第%d个人的年龄是  :%d/n",n,c);
 return c;
}
#endif
//********************************
#if 0
void main()
{
 int fac(int n);
 int n;
 scanf("%d",&n);
 printf("%d/n",fac(n));
}

int fac(int n)
{
 int f;
 if(n < 0){
  printf("n < 0 is a dataerror !/n");
  exit(0);
 }
 else if(n == 0 || n == 1)
   f = 1;
 else
  f = fac(n - 1)*n;
 return f;
}
#endif
//********************************
#if 0
void main()
{
 void hanoi(int n,char c1,char c2,char c3);//声明
 int n;
 printf("Please input the number of disks :");
 scanf("%d",&n);
 hanoi(n,'A','B','C');
}
void hanoi(int n,char c1,char c2,char c3)
{
 void move(char c1,char c2);//声明
 if(n == 1)
  move(c1,c3);
 else
 {
  hanoi(n-1,c1,c3,c2);//将c1上的n-1个盘子移到c2上 借助于c3
  move(c1,c3);// 将第n个从c1 到 c2
  hanoi(n-1,c2,c1,c3);//将c2上的n-1个盘子通过c1移到c3上 这样就放完了
 }

}
void move(char c1,char c2)
{
 printf("%c--->%c/n",c1,c2);
}
#endif
//********************************
#if 0
#define N 50
void main()
{
 int compare(int a,int b);
 int a[N],b[N];
 int n;
 int i;
 int equal = 0,more_than = 0,less_than = 0;
 printf("请输入数组中元素的个数:");
 scanf("%d",&n);
 printf("请输入数组a:/n");
 for(i = 0;i< n;i++)
  scanf("%d",&a[i]);
 printf("请输入数组b:/n");
 for(i = 0;i< n;i++)
  scanf("%d",&b[i]);
 for(i = 0;i< n;i++)
 {
  if(compare(a[i],b[i]) == 1)
   more_than++;
  else if(compare(a[i],b[i]) == 0)
   equal++;
  else
   less_than++;
 }
 printf("等于的次数%d/n大于的次数%d/n小于的次数%d/n",equal,more_than,less_than);
}
int compare(int a,int b)
{
 
 if(a > b)
  return 1;
 else if(a == b)
  return 0;
 else
  return -1;
}
#endif
//********************************
#if 0
void main()
{
 int compare(int a,int b);
 int a[N],b[N];
 int n;
 int i;
 int equal = 0,more_than = 0,less_than = 0;
 printf("请输入数组中元素的个数:");
 scanf("%d",&n);
 printf("请输入数组a:/n");
 for(i = 0;i< n;i++)
  scanf("%d",&a[i]);
 printf("请输入数组b:/n");
 for(i = 0;i< n;i++)
  scanf("%d",&b[i]);
 for(i = 0;i< n;i++)
 {
  if(compare(a[i],b[i]) == 1)
   more_than++;
  else if(compare(a[i],b[i]) == 0)
   equal++;
  else
   less_than++;
 }
 printf("等于的次数%d/n大于的次数%d/n小于的次数%d/n",equal,more_than,less_than);
}
int compare(int a,int b)
{
 
 if(a > b)
  return 1;
 else if(a == b)
  return 0;
 else
  return -1;
}
#endif
//********************************
#if 0
void main()
{
 float average(float score[10]);
 float score[10];
 float ave;
 int i;
 printf("Please input the score :/n");
 for(i = 0;i < 10;i++)
  scanf("%f",&score[i]);
 ave = average(score);
 printf("The average score is : %.4f/n",ave);
}
float average(float score[10])
{
 float sum = 0;
 int i;
 for(i = 0;i<10;i++)
  sum += score[i];
 return sum/10;
}
#endif
//********************************
#if 0
void main()
{
 float average(float score[],int n);
 float score[10];
 int n;
 float ave;
 int i;
 printf("Please input the number of score :");
 scanf("%d",&n);
 printf("Please input the score :/n");
 for(i = 0;i < n;i++)
  scanf("%f",&score[i]);
 ave = average(score,n);
 printf("The average score is : %.4f/n",ave);
}
float average(float score[],int n)
{
 float sum = 0;
 int i;
 for(i = 0;i<n;i++)
  sum += score[i];
 return sum/10;
}
#endif
//********************************
#if 0
void main()
{
 void average(float score[],int n);
 float score[10];
 int n;
 int i;
 printf("Please input the number of score :");
 scanf("%d",&n);
 printf("Please input the score :/n");
 for(i = 0;i < n;i++)
  scanf("%f",&score[i]);
 average(score,n);
 for(i = 0;i < n;i++)
  printf("%f",score[i]);
 printf("/n");
 
}
void average(float score[],int n)
{
 
 int i;
 for(i = 0;i<n;i++)
  score[i] += 1;
}//形参和实参地址一样 所以形参改变 实参的值也会改变
#endif
//********************************
#if 0
#define N 30
//选择法排序  从小到大
void main()
{
 void sort(int array[],int n);
 int array[N];
 int n,i;
 printf("Please input the count of number :");
 scanf("%d",&n);
 printf("Please input the array :/n");
 for(i = 0;i < n;i++)
  scanf("%d",&array[i]);
 sort(array,n);
 for(i = 0;i < n;i++)
  printf("%d   ",array[i]);
 printf("/n");
}
void sort(int array[],int n)
{
 int i,j;
 int temp;
 for(i = 0;i<n-1;i++)
 {
  for(j = i+1;j<n;j++)
  {
   if(array[i] > array[j])//选择出最小的交换 放在第一位
   {
    temp = array[i];
    array[i] = array[j];
    array[j] = temp;
   }
  }
 }
}
#endif
//*****************************
#if 0
#define N 30
//冒泡排序  从小到大
void main()
{
 void sort(int array[],int n);
 int array[N];
 int n,i;
 printf("Please input the count of number :");
 scanf("%d",&n);
 printf("Please input the array :/n");
 for(i = 0;i < n;i++)
  scanf("%d",&array[i]);
 sort(array,n);
 for(i = 0;i < n;i++)
  printf("%d   ",array[i]);
 printf("/n");
}
void sort(int array[],int n)
{
 int i,j;
 int temp;
 for(i = 0;i<n-1;i++)
 {
  for(j = 0;j<n-1-i;j++)//大数下沉
  {
   if(array[j] > array[j+1])
   {
    temp = array[j];
    array[j] = array[j+1];
    array[j+1] = temp;
   }
  }
 }
}
#endif
#if 0
void main()
{
 int max_value(int array[][4]);//声明
 int array[3][4] = {{1,3,5,7},{2,4,6,8},{15,17,34,12}};
 int max;
 max = max_value(array);//调用
 printf("%d/n",max);
}
int max_value(int array[][4])//定义
{
 int i,j;
 int max;
 max = array[0][0];
 for(i = 0;i<3;i++)
  for(j = 0;j<4;j++)
   if(array[i][j] > max)//求最大值
    max = array[i][j];
   return max;
}//多为数组作为参数 形参定义时第一维的大小可以省略,其他高维则不可以 否则会出错
#endif
//*********************************
#if 0
float Max = 0,Min = 0;
void main()
{
 float average(float array[],int n);
 float score[10];
 int n;
 int i;
 float ave;
 printf("Please input the number of score :");
 scanf("%d",&n);
 printf("Please input the score :/n");
 for(i = 0;i < n;i++)
  scanf("%f",&score[i]);
 ave = average(score,n);
 printf("Max = %.2f,Min = %.2f,ave = %.2f/n",Max,Min,ave);
}
float average(float array[],int n)
{
 int i;
 float sum = 0;
 Max = Min = array[0];
 for(i = 0;i<n;i++)
 {
  if(Max < array[i])
   Max = array[i];
  if(Min > array[i])
   Min = array[i];
  sum += array[i];
 }
 return sum/n;
}//Max Min 是全局变量 可以应用于整个源文件 首字母大写
#endif
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值