| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1146 人关注过本帖, 1 人收藏
标题:将程序改为用函数实现
只看楼主 加入收藏
penglingluo
Rank: 1
来 自:湖南衡阳
等 级:新手上路
帖 子:26
专家分:7
注 册:2010-4-17
结帖率:100%
收藏(1)
已结贴  问题点数:20 回复次数:10 
将程序改为用函数实现
编程求[6,1400]内能被7整除,且至少有一位数字为7的整数。
         最大一个是多大?
         共有多少个?




#include "stdio.h"
main()
{int i,k,flag,n=0,max=0;
 for (i=6;i<=1400;i++)
    { if (i%7==0)
       {k=i;flag=0;
        while (k!=0)
           {if (k%10==7) flag=1;
            k=k/10;}
        if (flag==1)
           {n++;
            max=i;}
        }
      }
 printf("\n%d,%d",n,max);
}
搜索更多相关主题的帖子: 函数 
2010-05-11 15:54
yc2575757
Rank: 7Rank: 7Rank: 7
来 自:北京
等 级:黑侠
威 望:1
帖 子:113
专家分:522
注 册:2010-5-7
收藏
得分:0 
不太理解lz的意思,我看了下程序,思路很好啊,函数指的是什么?用系统自带函数?还是把查找那部分写成一个函数,到main函数里调用呢?
2010-05-11 16:03
falling3000
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-5-11
收藏
得分:0 
回复 2楼 yc2575757
写一个函数,在main中调用。
2010-05-11 16:35
yc2575757
Rank: 7Rank: 7Rank: 7
来 自:北京
等 级:黑侠
威 望:1
帖 子:113
专家分:522
注 册:2010-5-7
收藏
得分:0 
回复 3楼 falling3000
那还用写什么。。。这个简直太简单了。。。
2010-05-11 16:52
yc2575757
Rank: 7Rank: 7Rank: 7
来 自:北京
等 级:黑侠
威 望:1
帖 子:113
专家分:522
注 册:2010-5-7
收藏
得分:10 
#include "stdio.h"
#include "stdlib.h"

int *return_value(int *a)
{int i,k,flag;
for (i=6;i<=1400;i++)
    { if (i%7==0)
       {k=i;flag=0;
        while (k!=0)
           {if (k%10==7) flag=1;
            k=k/10;}
        if (flag==1)
           {a[0]++;
            a[1]=i;}
        }
      }
return(a);
}

void main(void)
{
    int *a;
    int n = 0;
    int max = 0;
    a = (int *)malloc(2*sizeof(int));
    a[0] = n;
    a[1] = max;
    a = return_value(a);
    n = a[0];
    max = a[1];
    printf("\n%d,%d",n,max);
}
代码如下,不知道lz满意不。。呵呵~~
2010-05-11 17:01
ldg628
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:3
帖 子:526
专家分:3036
注 册:2009-6-23
收藏
得分:10 
#include <stdio.h>

int fun(int min, int max, int *M)
{
    int cnt = 0;
    int i, k;
    for (i = min; i <= max; i ++)
    {
        if (i%7 == 0)break;
    }
    for (; i <= max; i += 7)
    {
        k = i;
        while(k)
        {
            if (k%10 == 7)
            {
                *M = i;
                cnt ++;
                break;
            }
            k /= 10;
        }
    }
    return cnt;
}
int main(void)
{
    int min, max;
    int M, n;
    scanf("%d%d", &min, &max);
    if(n = fun(min, max, &M))
    {                                                                                                            
        printf("%d  %d\n", n, M);                                                                                 
    }else                                                                                                         
    {                                                                                                            
        printf("didn't find!\n");                                                                                 
    }                                                                                                            
    return 0;                                                                                                     
}        
min与max决定范围
2010-05-11 17:11
南国利剑
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:29
帖 子:1165
专家分:3536
注 册:2010-4-12
收藏
得分:0 
版主都出手了,我就不献丑了!
呵呵,顶楼上!

南国利剑
2010-05-12 02:17
肟狁
Rank: 2
等 级:论坛游民
帖 子:44
专家分:33
注 册:2010-5-8
收藏
得分:0 
斑竹果然不一样啊~~呵呵
2010-05-12 07:19
lingyunhappy
Rank: 2
等 级:论坛游民
帖 子:40
专家分:45
注 册:2010-3-8
收藏
得分:0 
行家一出手就知有没有 我最近正在看指针的应用 可把我郁闷坏了 原来高手都是信手拈来的 太强大了 拜一个!
2010-05-12 08:49
penglingluo
Rank: 1
来 自:湖南衡阳
等 级:新手上路
帖 子:26
专家分:7
注 册:2010-4-17
收藏
得分:0 
5楼的jj  和版主写的不是很明白    我还不会用指针
我自己后来写了一个
 #include<stdio.h>
main()
{
    int max=0,n=0,i;
    int seven(int);
    for(i=6;i<=1400;i++)
    if(seven(i)==1){n++;max=i;}
    printf("%d\n%d\n",n,max);
}
int seven(int i)
{
  int k,flag;
  if(i%7==0)
  {
    k=i;
    flag=0;
    while(k!=0)
    {
    if(k%10==7)
        flag=1;
    k=k/10;
    }
}
return flag;
}
多指教啊
2010-05-13 08:45
快速回复:将程序改为用函数实现
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017536 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved