注册 登录
编程论坛 C语言论坛

C语言初学者,请求指教

HLBrain 发布于 2018-03-20 10:23, 2016 次点击
C语言如何利用数组输入10个数,输出这组数中数与数的最大差值,求解。
在这题上我求差值,但是输出都有问题,变量的定义,定义类型还有循环的控制。求代码!!!
10 回复
#2
grmmylbs2018-03-20 11:16
贴出你的代码
#3
HLBrain2018-03-20 15:09
回复 2楼 grmmylbs
只有本站会员才能查看附件,请 登录
#4
悠过三年2018-03-20 15:53
后面一个for循环 i<10改成i<9
#5
HLBrain2018-03-20 16:24
回复 4楼 悠过三年
非常感谢
#6
HLBrain2018-03-20 20:58
回复 4楼 悠过三年
再问一下,关于一下代码,输入一个数判断是否在数组中,如果再则输出他第一次出现的数组下标,否则输出-1。由于只输出第一次出现的数组下标,如果我用break就不执行后面的-1了,所以求指教,谢谢!
只有本站会员才能查看附件,请 登录
#7
悠过三年2018-03-20 22:40
#include <stdio.h>
#define N 10
void main()
{int a[10]={2,2,2,3,3,3,3,4,4,6};
int i,x;
scanf("%d",&x);
for(i=0;i<10;i++)
if(a[i]==x)
{
    printf("%d\n",i);
    break;
}
if(i==10)
printf("-1\n");
}
你看看是这个意思吗?
#8
HLBrain2018-03-21 08:57
回复 7楼 悠过三年
就是这个,我试了一下,可以,先前就是把否则那个语句放在了里面,所以才会出现这个问题,谢谢
#9
grmmylbs2018-03-21 10:50
求最大差值的代码有问题吧?
程序代码:
#include<stdio.h>
#include <math.h>

int  main()

{

    int a[10] = {3,5,6,7,4,2,9,5,3,0},i,j, cha, max = 0;

    for (i = 0; i < 9; i++)
    {
        for (j = i+1; j < 10; j++)
        {
            cha = abs(a[i] - a[j]);
            printf("%d,", cha);
            if (max < cha)
            {
                max = cha;
            }
        }   
        
    }

    printf("最大差值为 %d\n", max);

    return 0;
}


[此贴子已经被作者于2018-3-21 10:51编辑过]

#10
HLBrain2018-03-21 11:02
回复 9楼 grmmylbs
的确,如果是在不考虑绝对值的情况下那个可以,如果考虑绝对值就需要用abs()
#11
HLBrain2018-03-21 11:05
回复 10楼 HLBrain
请教请教,输入选举的人数n,然后根据选票输入3个候选人编号1、2、3,统计输出3个候选人各得的选票数和无效票数。(这个我想来很久都没有想出来,去查了一下,比较不易懂)
只有本站会员才能查看附件,请 登录

1