C_07 函数练习题

有 1,2,3,4 四个数字,能组成多少个互不相同且无重复的三位数

#include "stdafx.h"
#include 
void function();
int main(int argc, char* argv[])
{
  function();
  return 0;
}

void function()
{
  int count=0; 
  for(int a=1;a<5;a++)
    {
      for(int b=1;b<5;b++)
        {
          for(int c=1;c<5;c++)
            {
              if(a!=b&&b!=c&&c!=a)
                {
                  count++;
                  printf("%d%d%d ",a,b,c);
                }
            }
        }
    }
  printf("一共有%d个\n",count);
}
运行结果

用键盘输入一个三位数,然后倒序输出这个数字:例如:153 -> 351

#include "stdafx.h"
#include 
int function(int i);
int main(int argc, char* argv[])
{
  int m;
  printf("请输入一个三位数:");
  scanf("%d",&m);
  int d=function(m);
  printf("%d\n",d);
  return 0;
}

int function(int i)
{
  int a,b,c;
  a=i/100;
  b=i/10%10;
  c=i%10;
  int num=c*100+b*10+a;
  return num;
}
运行结果

一球从 100 米高度落下,每次落地后又反弹回原来高度的一半,然后再落下,求 10 次后,总共经过了多少米?

#include "stdafx.h"
#include 
void function(float h,int c);
int main(int argc, char* argv[])
{
  float a;
  int b;
  printf("请输入小球从多少米的高度上落下:");
  scanf("%f",&a);
  printf("请输入小球反弹次数:");
  scanf("%d",&b);
  function(a,b);
  return 0;
}

void function(float h,int c)
{
  float j=h/2;
  for(int i=2;i<=c;i++)
    {
      h=h+2*j;
      j=j/2;
    }
  printf("总共经过了%f米\n",h);
}
运行结果

打印九九乘法表

#include "stdafx.h"
#include 
void function();
int main(int argc, char* argv[])
{
  function();
  return 0;
}

void function()
{
  for(int a=1;a<10;a++)
    {
      for(int b=1;b<=a;b++)
        {
          int c=a*b;
          printf("%d*%d=%-3d",b,a,c);
        }
    printf("\n");
    }
}
C_07 函数练习题_第1张图片
运行结果

定义一个数组,由用户输入 8 个元素的值,求出其内最小值并输出

#include "stdafx.h"
#include 
int function(int array[]);
int main(int argc, char* argv[])
{
  int array[8];
  printf("请输入8个数据:");
  for(int b=0;b<8;b++)
    {
      scanf("%d",&array[b]);
    }
  function(array);
  printf("最小值是:%d\n",function(array));
  return 0;
}

int function(int array[])
{
  int min=array[0];
  for(int c=1;c<8;c++)
    {
      if(min>array[c])
        {
          min=array[c];
        }
    }
  return min;
}
运行结果

打印出所有“水仙花数”,所谓“水仙花数”是指一个三位数,其个位数字立方和等于该数本身
例如:153 是一个“水仙花数”,因为 153 = 1 的三次方 + 5 的三次方 + 3 的三次方

#include "stdafx.h"
#include 
void function(int num);
int main(int argc, char* argv[])
{
  int i;
  printf("请输入一个三位数:");
  scanf("%d",&i);
  function(i);
  return 0;
}
void function(int num)
{
  int a=num/100;
  int b=num/10%10;
  int c=num%10;
  if(num==a*a*a+b*b*b+c*c*c)
    {
      printf("%d是水仙花数\n",num);
    }
  else
    {
      printf("%d不是水仙花数\n",num);
    }
}
运行结果 1
运行结果 2

冒泡排序

#include "stdafx.h"
#include 
void bubbleSort(int array[],int N);
void verify(int arr[],int n1);
int main(int argc, char* argv[])
{
  int arr[5]={3,5,2,4,1};
  int count=sizeof(arr)/sizeof(int);
//函数的使用
//数组当作参数的时候,直接写数组名当参数
  bubbleSort(arr,count);
//验证
  verify(arr,count);
  return 0;
}
//冒泡函数
void bubbleSort(int array[],int N)
{
  for(int i=0;iarray[j+1])        //使用的列作为比较,所以使用内循环变量
            {
              int temp=0;    
              temp=array[j];
              array[j]=array[j+1];
              array[j+1]=temp;
            }
        }
    }
 }

//验证函数
void verify(int arr1[],int n1)
{
  for(int e=0;e
C_07 函数练习题_第2张图片
运行结果

猴子第一天摘下若干个桃子,当即吃了一半,然后又多吃了一个。第二天早上又将剩下的桃子吃掉一半,有多吃了一个,以后每天早上都吃了前一天剩下的一半零一个。到第十天早上想再吃时,就只剩下一个桃子了
求第一天共摘了多少个桃子?

#include "stdafx.h"
#include 
int function();
int main(int argc, char* argv[])
{   
  printf("总共有%d个桃子\n",function());
  return 0;
}

int function()
{
  int N=1;
  for(int day=9;day>0;day--)
  {
    N=(N+1)*2;
    printf("第%d天,总共有%d个桃子,吃了%d个,还剩%d个\n",day,N,N/2+1,N/2-1);
  }
  return N;
}
C_07 函数练习题_第3张图片
运行结果
End of File

行文过程中出现错误或不妥之处在所难免,希望大家能够给予指正,以免误导更多人,最后,如果你觉得我的文章写的还不错,希望能够点一下喜欢关注,为了我能早日成为签约作者献上一发助攻吧,谢谢!^ ^

你可能感兴趣的:(C_07 函数练习题)