| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1097 人关注过本帖
标题:一道关于数组的问题,请指教
只看楼主 加入收藏
kidd218
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2008-10-28
收藏
 问题点数:0 回复次数:12 
一道关于数组的问题,请指教
本人新手,初学,这是一道关于数组的问题,摸不到头绪,请高手指教,谢谢。

简单的说,就是从键盘读入一串数字(INT),存入数组,将每个值进行固定的运算(取倒数),然后将结果(DOUBLE)放入第2行数字,讲这两行数组输出到屏幕,并且,每一行最后一个显示这行数字中的最大值。

Typical result:
Original values: 4 5 100 [100]
Inverted values: 0.25 0.20 0.01 [0.25]
搜索更多相关主题的帖子: 指教 
2008-10-28 11:33
fantasy_______
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2008-9-21
收藏
得分:0 
#include <stdio.h>
#define MAX 3
int max;
int main()
{
    int i;
    int Original[MAX+1];
    double Inverted[MAX+1];
    for (i=1;i<=MAX;i++)
    {
        scanf("%d",&Original[i]);
        Inverted[i]=1/double(Original[i]);
    }
    max=Original[1];
    for (i=2;i<=MAX;i++)
        if(Original[i]>max)
            max=Original[i];
    printf("Original values:");
    for (i=1;i<=MAX;i++)
        printf("%d   ",Original[i]);
    printf("[%d]\n",max);
    printf("Inverted values:");
    for (i=1;i<=MAX;i++)
        printf("%.2f   ",Inverted[i]);
    printf("[%.2f]\n",1/double(max));
    return 0;
}


你看看行不
2008-10-28 12:01
kidd218
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2008-10-28
收藏
得分:0 
谢谢楼上的,我编译了一下,有两个错误,分别是第12行和第25行
expected expression before “double”
2008-10-28 12:10
fantasy_______
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2008-9-21
收藏
得分:0 
我用的vc++6.0没问题,不知道你用的什么编译器
2008-10-28 12:13
kidd218
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2008-10-28
收藏
得分:0 
[bo][un]fantasy_______[/un] 在 2008-10-28 12:13 的发言:[/bo]

我用的vc++6.0没问题,不知道你用的什么编译器



是吗,我用的quincy, 总之,谢谢你了,我再试试吧。
2008-10-28 12:15
fantasy_______
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2008-9-21
收藏
得分:0 
对了,题我看错了,下面的我打印了最小值,改下就可以
#include <stdio.h>
#define MAX 3
int max;
int min;
int main()
{
    int i;
    int Original[MAX+1];
    double Inverted[MAX+1];
    for (i=1;i<=MAX;i++)
    {
        scanf("%d",&Original[i]);
        Inverted[i]=1/double(Original[i]);
    }
    max=Original[1];
    min=Original[1];
    for (i=2;i<=MAX;i++)
    {
        if(Original[i]>max)
            max=Original[i];
        if (Original[i]<min)
            min=Original[i];
    }
    printf("Original values:");
    for (i=1;i<=MAX;i++)
        printf("%d   ",Original[i]);
    printf("[%d]\n",max);
    printf("Inverted values:");
    for (i=1;i<=MAX;i++)
        printf("%.2f   ",Inverted[i]);
    printf("[%.2f]\n",1/double(min));
    return 0;
}
2008-10-28 12:17
kidd218
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2008-10-28
收藏
得分:0 
还是那两个错误,晕了。。。
2008-10-28 12:21
fantasy_______
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2008-9-21
收藏
得分:0 
找找别的高手把,不知道你的编译器怎么进行强制转换的
2008-10-28 12:29
kidd218
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2008-10-28
收藏
得分:0 
[bo][un]fantasy_______[/un] 在 2008-10-28 12:29 的发言:[/bo]

找找别的高手把,不知道你的编译器怎么进行强制转换的



谢谢高手

我修改了一下,我删掉了printf("[%.2f]\n",1/double(max));这一行
将这一行中的 Inverted[i]=1/double(Original[i]) 改成了Inverted[i]=1.0/Original[i]  可以运行了!
但是现在出来新的问题,就是如果MAX设置成3,我就必须要打3个数字,如果我把MAX设置成10,就必须要打10个数字,那我有什么办法能打任意的数字,都能显示出来呢?
谢谢
2008-10-28 12:38
fantasy_______
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2008-9-21
收藏
得分:0 
这个只要稍微变一点点就好了啊,定义足够长的数组,以enter为结束符,一个if语句就可以搞定的
2008-10-28 12:42
快速回复:一道关于数组的问题,请指教
数据加载中...
 
   



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

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