有大佬帮我把这段c代码用js代码实现吗
javascript吧
全部回复
仅看楼主
level 1
墨白i- 楼主
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
// 比较函数
int greater_than(int x, int y)
{
return x - y;
}
int less_than(int x, int y)
{
return y - x;
}
// 生成一个随机数组
void random_array(int a[], int n) {
srand(time(NULL));
for (int i = 0; i < n; i++) {
a[i] = rand() % 100;
}
}
// 打印数组
void print_array(int a[], int n)
{
for (int i = 0; i < n; i++) {
printf("%d ", a[i]);
}
printf("\n");
}
// 返回数组最大值
// TODO: 修改并实现所需功能
int max_element(int a[], int n)
{
int max = 0;
for (int i = 0; i < n; i++) {
if (a[i] > max) {
max = a[i];
}
}
return max;
}
// 对数组按照递增顺序排序
// TODO: 修改并实现所需功能
void sort_ascending(int a[], int n)
{
for (int i = 0; i < n - 1; i++) {
for (int x = 0; x < n - i - 1; x++) {
if (a[x] > a[x + 1]) {
int swap = 0;
swap = a[x];
a[x] = a[x + 1];
a[x + 1] = swap;
}
}
}
}
// 根据用户传入的比较函数comp对数组进行排序,
// 如果comp(a, b) > 0,则a排在后面
// TODO: 修改并实现所需功能
void sort(int a[], int n, int (*comp)(const int, const int))
{
int temp = 0;
for (int i = 0; i < n - 1; i++) {
for (int x = 0; x < n - i - 1; x++) {
temp = comp(a[x], a[x + 1]);
if (temp > 0) {
int swap = 0;
swap = a[x];
a[x] = a[x + 1];
a[x + 1] = swap;
}
}
}
}
#define N 10
int main()
{
int a[N];
random_array(a, N);
print_array(a, N);
printf("Max value of a: %d\n", max_element(a, N));
sort_ascending(a, N);
print_array(a, N);
sort(a, N, greater_than);
print_array(a, N);
sort(a, N, less_than);
print_array(a, N);
return 0;
}
2022年12月03日 11点12分 1
level 12
// Comparison function
function greaterThan(x, y) {
return x - y;
}
function lessThan(x, y) {
return y - x;
}
// Generate a random array
function randomArray(a, n) {
// Seed the random number generator with the current time
let seed = Date.now();
网页链接 = new Math.seedrandom(seed);
for (let i = 0; i < n; i++) {
a[i] = Math.floor(Math.random() * 100);
}
}
// Print array
function printArray(a, n) {
for (let i = 0; i < n; i++) {
console.log(a[i] + ' ');
}
console.log('\n');
}
// Return maximum element of array
function maxElement(a, n) {
let max = 0;
for (let i = 0; i < n; i++) {
if (a[i] > max) {
max = a[i];
}
}
return max;
}
// Sort array in ascending order
function sortAscending(a, n) {
for (let i = 0; i < n - 1; i++) {
for (let j = 0; j < n - i - 1; j++) {
if (a[j] > a[j + 1]) {
let temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
}
// Sort array according to comparison function
function sort(a, n, comp) {
for (let i = 0; i < n - 1; i++) {
for (let j = 0; j < n - i - 1; j++) {
let temp = comp(a[j], a[j + 1]);
if (temp > 0) {
let swap = a[j];
a[j] = a[j + 1];
a[j + 1] = swap;
}
}
}
}
const N = 10;
let a = new Array(N);
randomArray(a, N);
printArray(a, N);
console.log('Max value of a: ' + maxElement(a, N));
sortAscending(a, N);
printArray(a, N);
sort(a, N, greaterThan);
printArray(a, N);
sort(a, N, lessThan);
printArray(a, N);
2022年12月08日 23点12分 2
1