#4
by box » 6年前
何でもかんでもmain()にぶち込まない方がよいと思います。
コード:
// 全面的に改変しました
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N (10)
void makeRandomNumber(int *a, int n)
{
int i;
for (i = 0; i < n; i++) {
a[i] = rand() % 20 + 1; // 1~20の乱数を発生
}
}
void sortArray(int *a, int n)
{
int i, j, t;
for (i = 0; i < n - 1; i++) {
for (j = i; j < n; j++) {
if (a[i] > a[j]) {
t = a[i], a[i] = a[j], a[j] = t;
}
}
}
}
void printResult(int *a, int n)
{
int i, j;
for (i = 0; i < n; i++) {
printf("%2d:", a[i]);
if (a[i] % 2 == 0) {
for (j = 0; j < a[i]; j++) {
putchar('o');
}
}
else {
for (j = 0; j < a[i]; j++) {
putchar('x');
}
}
putchar('\n');
}
}
int main(void)
{
int arr[N];
srand((unsigned) time(NULL));
makeRandomNumber(arr, N);
sortArray(arr, N);
printResult(arr, N);
return 0;
}
何でもかんでもmain()にぶち込まない方がよいと思います。
[code=C]
// 全面的に改変しました
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N (10)
void makeRandomNumber(int *a, int n)
{
int i;
for (i = 0; i < n; i++) {
a[i] = rand() % 20 + 1; // 1~20の乱数を発生
}
}
void sortArray(int *a, int n)
{
int i, j, t;
for (i = 0; i < n - 1; i++) {
for (j = i; j < n; j++) {
if (a[i] > a[j]) {
t = a[i], a[i] = a[j], a[j] = t;
}
}
}
}
void printResult(int *a, int n)
{
int i, j;
for (i = 0; i < n; i++) {
printf("%2d:", a[i]);
if (a[i] % 2 == 0) {
for (j = 0; j < a[i]; j++) {
putchar('o');
}
}
else {
for (j = 0; j < a[i]; j++) {
putchar('x');
}
}
putchar('\n');
}
}
int main(void)
{
int arr[N];
srand((unsigned) time(NULL));
makeRandomNumber(arr, N);
sortArray(arr, N);
printResult(arr, N);
return 0;
}
[/code]