黑马程序员技术交流社区

标题: 实现函数 [打印本页]

作者: xiaochongzi    时间: 2015-11-1 18:31
标题: 实现函数
实现一个函数,传递三个整形参数,第一个参数为数值的起始值,第二个参数为数值的结束值,第三个参数为数的步长,在函数里输出数字的序列。
例如:
输入:2 5 1
输出:2 3 4 5
输入:-2 7 2
输出:-2 0 2 4 6
输入:7 3 -2
输出:7 5 3

作者: 触底反弹    时间: 2015-11-1 18:31
是不是这样?

屏幕快照 2015-11-11 下午9.17.57.png (34.58 KB, 下载次数: 240)

屏幕快照 2015-11-11 下午9.17.57.png

作者: poxiao    时间: 2015-11-1 21:26
void print(int a, int b, int c)
{
        if (a <= b && c > 0)
        {
                        for (a; a <= b; a += c)
                {
                        printf("%d ", a);
                }
        }
        else if (a >= b && c < 0)
        {
                for (a; a >= b; a += c)
                {
                        printf("%d ", a);
                }
        }
        else
                printf("Input Error!\n");

        printf("\n");
}
作者: xingjiyuan26    时间: 2015-11-1 23:18
  1. void print(int a, int b, int c)
  2. {
  3.        int i = a;
  4.         if (a <= b)
  5.         {
  6.                 for (i; i <= b; i += c)
  7.                 {
  8.                         printf("%d ", i);
  9.                 }
  10.         }
  11.         else
  12.         {
  13.                 for (i; i > b; a += c)
  14.                 {
  15.                         printf("%d ", i);
  16.                 }
  17.         }
  18.         printf("\n");
  19. }
复制代码

作者: 陌忆    时间: 2015-11-3 14:34
#include <studio.h>
作者: 陌忆    时间: 2015-11-3 14:42
#include <studio.h>
int main{
    int a,b,c;
   printf("请输入初始数\n");
   scanf("%d\n",&a);
   printf("请输入截止数\n");
   scanf("%d\n",&b);
   printf("请输入步长\n");
   scanf("%d\n",&c);
   for(a;a<b;a=a+c){
        printf(" %d",a);
}
       return 0;
}
作者: newbee    时间: 2015-11-3 15:15
int print(int start,int end,int adds)
{
    //如果说 start>end 并且 adds>0
    // 或者  start<end 并且 adds<0   那么数字序列不存在 打印错误信息
    if((start>end&&adds>0)||(start<end&&adds<0))
    {
        printf("参数存在错误!");
        return -1;//此时函数会退出,不会执行下面部分
    }
   if(start>end)//像 7 6 5 4 这样的序列 增量为负
    {
        while (start>end) {
            printf("%d ",start);
            start+=adds;//加上步长
        }
    }
    else//像 4 5 6 7 这样的序列 增量为正
    {
        while (start<end) {
            printf("%d ",start);
            start+=adds;//加上步长
        }
    }
    return 0;
}

作者: Spriea    时间: 2015-11-5 19:50
// begin:开始点   end:结束点   step:步数
void function(int begin, int end, int step)
{
    // b += step:表示每次走几步,并且保存到b中输出。
    for (int b = begin; b <= end; b += step) {
        printf("%d\t", b);
    }
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2