A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© xiaochongzi 中级黑马   /  2015-11-1 18:31  /  3256 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1黑马币
实现一个函数,传递三个整形参数,第一个参数为数值的起始值,第二个参数为数值的结束值,第三个参数为数的步长,在函数里输出数字的序列。
例如:
输入:2 5 1
输出:2 3 4 5
输入:-2 7 2
输出:-2 0 2 4 6
输入:7 3 -2
输出:7 5 3

最佳答案

查看完整内容

是不是这样?

8 个回复

倒序浏览
是不是这样?

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

屏幕快照 2015-11-11 下午9.17.57.png
回复 使用道具 举报
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");
}

点评

这个正解  发表于 2015-11-5 22:12
回复 使用道具 举报
  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. }
复制代码
回复 使用道具 举报
#include <studio.h>
回复 使用道具 举报
#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:56
7#
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:39
8#
// 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);
    }
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马