编写函数fun,其功能是将所有满足如下条件的四位整数存放到形参数组a中:

编写函数fun,其功能是将所有满足如下条件的四位整数存放到形参数组a中:

题目
编写函数fun,其功能是将所有满足如下条件的四位整数存放到形参数组a中:
将四位整数的千位和十位构成一个两位数s,将百位和个位构成另一个两位数t,注意,这里不考虑两位数十位为0的特殊情况,即不将01,02,03等视为两位数.如果s是t的5倍,则将此四位数存放到形参数组a中.
例如:对于整数6102,按照上述要求组成的两个两位数分别为60和12,而60=12*5,因此6102满足条件,将其存放到数组a中,存放到数组a中的整数的个数作为函数值返回.
(2)编写函数main,在main函数中调用fun函数,并将数组a中存放的整数按一行5个输出到屏幕上.


# include
int fun(int *a)
{
int i,j=0,qw,bw,sw,gw,s,t;
for(i=1000;i
答案
# include <stdio.h>
int fun(int *a)
{
  int i,j=0,qw,bw,sw,gw,s,t;
  for(i=1000;i<=9999;i++)//遍历所有四位数
  {
    qw=i/1000;
    bw=i/100%10;
    sw=i/10%10;
    gw=i%10;
    //求个位、十位、百位、千位
    /*做法:6125为例
        6125/1000=6.125,转化为int只取整数6,
        6125/100=61.25,61.25%10=1.25,只取1
        其余同上
    */
    s=qw*10+sw;
    t=bw*10+gw;
    //千位和十位构成(千位*10+十位)一个两位数s,将百位和个位构成另一个两位数t
    if( (s==5*t) //s是t的5倍
      &&(bw!=0)  //排除两位数十位为0的特殊情况
      )
    {
      a[j]=i;
      j++;
      //把i存放到数组a中
    }
  }
  return j;//返回个数
}
void main()
{
  int a[100],i,j;
  j=fun(a);//计算
  for(i=0;i<j;i++)
  {
    printf("%6d",a[i]);//%6d(长度为六的整数)包括了两个空格
    if((i+1)%5==0)//五个分一行(输出 ) 
      printf(" ");
  } 
}
举一反三
已知函数f(x)=x,g(x)=alnx,a∈R.若曲线y=f(x)与曲线y=g(x)相交,且在交点处有相同的切线,求a的值和该切线方程.
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
奥巴马演讲不用看稿子.为什么中国领导演讲要看?
想找英语初三上学期的首字母填空练习……
英语翻译
最新试题
热门考点

超级试练试题库

© 2017-2019 超级试练试题库,All Rights Reserved.