C言語で別の数値を出力する方法
C言語では、条件分岐と繰り返し処理を用いて、異なる数値の出力を行うことができます。代表的な方法は以下の2種類です。
1つ目の方法は、if文と配列を使用することです。
#include <stdio.h>
int main() {
int nums[] = {1, 2, 3, 4, 5, 5, 6, 6, 7, 8, 8, 9}; // 输入的数组
int length = sizeof(nums) / sizeof(nums[0]); // 数组长度
for (int i = 0; i < length; i++) {
int flag = 0; // 标志位,用于判断是否为重复数
for (int j = 0; j < i; j++) {
if (nums[i] == nums[j]) {
flag = 1;
break;
}
}
if (flag == 0) {
printf("%d ", nums[i]);
}
}
return 0;
}
if文とフラグを使用した方法
#include <stdio.h>
int main() {
int nums[] = {1, 2, 3, 4, 5, 5, 6, 6, 7, 8, 8, 9}; // 输入的数组
int length = sizeof(nums) / sizeof(nums[0]); // 数组长度
int flag = 0; // 标志位,用于判断是否为重复数
for (int i = 0; i < length; i++) {
flag = 0; // 每次循环重置标志位
for (int j = 0; j < i; j++) {
if (nums[i] == nums[j]) {
flag = 1;
break;
}
}
if (flag == 0) {
printf("%d ", nums[i]);
}
}
return 0;
}
2つのメソッドは異なる結果を出力できます。最初のメソッドでは、既存の数字を格納する配列を使用し、新しい数字を取得するたびに、配列内の既存の数字と比較します。重複が見つからなければ、出力します。2つ目のメソッドでは、重複しているかどうかを示すフラグを使用して、重複していない場合は出力します。どちらのメソッドの時間複雑度も O(n^2) です(n は配列の長さ)。