编写C语言的一个程序 比较急

编写完成如下功能的程序:输入若干个整数到数组中,当输入-999时表示输入完毕。
统计其中值等于50的元素个数,如果个数为0则输出“未找到”,如果个数不为0,则输出其个数,并输出这些元素的位置(下标值)。

解答如下

img

#include<stdio.h>

int main()
{
    int t[225],p=0,tem;
    do {
        scanf("%d",&tem);
        t[p++]=tem;
    }
    while(tem!=-999);
    int count=0,index[225];
    for(int i=0; i<p; i++)
    {
        if(t[i]==50)
        {
        index[count++]=i;
        }
    }
    printf("值等于50的元素个数:%d\n",count);
    printf("下标分别为:");
    for(int i=0; i<count; i++)
    printf("%d ",index[i]);
    return 0;
}

循环输入数值到数组用if判断即可,

你题目的解答代码如下:

#include<stdio.h>

int main()
{
    int n,i,l=0,count=0;
    int a[100] = {0};
    int b[100] = {0};
    scanf("%d", &n);
    while (n!=-999)
    {
        a[l++] = n;
        scanf("%d", &n);
    }
    for (i = 0; i < l; i++)
    {
        if (a[i]==50)
        {
            b[count++] =  i;
        }
    }
    if (count==0)
    {
        printf("未找到\n");
    }
    else
    {
        printf("等于50个数:%d\n这些元素的位置:", count);
        for (i = 0; i < count; i++)
        {
            printf("%d ", b[i]);
        }

    }
    return 0;
}

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

运行结果及代码:

img

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#define MAXLEN 100
int main()
{
    int a[MAXLEN], i=0,j=0, cnt = 0;
    int t = 0;
    while (1)
    {
        scanf("%d", &t);
        if (t == -999) break;
        else
        {
            if (t == 50)
            {
                a[cnt] = j;
                cnt++;
            }
            j++;
        }
    }
    if (cnt == 0)
        printf("未找到\n");
    else
    {
        printf("个数:%d\n", cnt);
        for (i = 0; i < cnt; i++)
            printf("%d ", a[i]);
    }
    return 0;
}