質問:xとyの整数値を指定すると、[x、y]の範囲内に20個のランダムな値が生成され、配列に格納されます。配列を印刷します。その中の最大の偶数番号(0から19の範囲)のインデックスを決定します。配列にそのような番号がない可能性を考慮する。すべての正の奇数の合計を計算します。 の配列値は一度しか使用できません。乱数を生成し、偶数と奇数をチェックするために、別々の関数を定義する必要があります。私が書いた何乱数配列を操作する
は:
#include <stdio.h>
int random(int min, int max, int arr[]){
int i, j = 1;
for(i = 0; i<20; i++){
arr[i] = min + rand() % (max+1 - min);}
for(i = 0; i<20; i++){
printf("%d. %d\n", j, arr[i]);
j++;}
return arr[20];}
int evenodd(int arr[], int size){
int i, holder, sum, index = 1;
holder = arr[i];
for(i = 0; i<20; i++){
if (holder>0){
if (holder%2 == 0){
sum = sum;}
else{
sum += i;}}
else{
sum = sum;}}
printf("\nThe sum of all odd positive numbers is %d.", sum);
for(i = 1; i<20; i++){
int top = arr[0];
if (arr[i]<0){
if(arr[i]<top){
top = arr[i];
index = i;}
else{
top = top;}}
else{
top = top;}}
printf("\nThe index of the largest negative number is %d", index);}
int main()
{
int min, max;
printf("Please input the minimum desired random number: ");
scanf("%d", &min);
printf("\nPlease input the maximum desired random number: ");
scanf("%d", &max);
int a[20];
random(min, max, a);
evenodd(a, 20);
}
それは細かいプリントアウトしたが、正の奇数の合計が間違っているだけでなく、最大の負の数の指標です。
私はOPの(繰り返し) 'else {top = top; } 'と' sum = sum; 'コードには多くの冗長性があり、読みにくくなっています。 –