作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
对于一个类,我们需要编写一小段代码来检查输入数组中是否有数字,如果该数字存在,则将+1添加到输出数组的索引位置。示例:
输入:
1
1
3
2
输出
0 2 1 1
在此场景中,有 2 个数字 1,因此输出的索引位置 1 处为 +2。我只是不知道该怎么做?这就是我到目前为止所拥有的。
#include <stdarg.h>
#include <stdbool.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <stdio.h>
#include <math.h>
void create_hist(double input[], int num_vals, int output[]) {
memset(output, 0, sizeof(int) * 28);
for(int i = 0; i < num_vals; i++){
//HERE IS WHERE I AM STUCK//
}
}
}
void call_function( const char * label, double x[], int count ) {
int hist[28 + 1];
create_hist( x, count, hist );
printf( "%s\n", label );
printf( "\tInput data:\n" );
for ( int i = 0; i < count; i++ ) {
printf( "\t%d\t%f\n", i, x[i] );
}
printf( "\tHistogram:\n" );
for ( int i = 0; i <= 28; i++ ) {
printf( "\t%d\t%d\n", i, hist[i] );
}
printf( "\n" );
}
int main( void ) {
srand( time( NULL ) );
double x1[] = { 0 };
call_function( "Count == 0", x1, 0 );
double x2[] = { 0, 0, 0 };
call_function( "Three equal values", x2, 3 );
double x3[28 + 1];
for ( int i = 0; i <= 28; i++ ) {
x3[i] = i;
}
call_function( "One value in each bucket", x3, 28 + 1 );
double x4[28 * 2 + 1];
for ( int i = 0; i <= 28 * 2; i++ ) {
x4[i] = (28+1) * ( double ) rand() / RAND_MAX;
}
call_function( "Random values", x4, 28 * 2 + 1 );
return 0;
}
最佳答案
您可以使用input[i]
值作为output
数组的索引。但在此之前,您需要检查 input[i]
是否小于 num_vals
,以避免越界访问。
void create_hist(double input[], int num_vals, int output[])
{
memset(output, 0, sizeof(int) * 28);
for(int i = 0; i < num_vals; i++)
{
//You can do as below//
if(input[i] < num_vals)
output [input[i]]++;
}
}
关于c - 如何检查输入数组是否有数字,并将其在输出数组中相应的索引位置加1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51914844/
我在 Java 中遇到异常处理问题,这是我的代码。当我尝试运行此行时出现编译器错误:throw new MojException("Bledne dane");。错误是: exception MojE
我刚刚开始学习asp.net。在你们的支持下,我希望我能从这个论坛学到更多东西。 我的问题是, 我在 asp.net 页面中有一个 TabContainer1,因为每个选项卡面板中有多个类似 (60)
我是一名优秀的程序员,十分优秀!