a[]={1,121,222,44,451,5510,414}
のような配列があります。アレイ出力をj={1,222,44}
として出力したいと思います。どのようにC言語でこれを行うことができますか?与えられた配列に2222,11,88888などのような同じ数字を持つ配列要素を出力したい。 {1、121,222,44,451,5510,414}
答えて
ここでは、ソリューションです:
#include <limits.h>
#include <stdio.h>
int a[] = { 1, 121, 222, 44, 451, 5510, 414 };
#define lengthof(a) (sizeof(a)/sizeof((a)[0]))
int same_digit(int num) {
if (num < 0) {
if (num == INT_MIN)
return 0;
num = -num;
}
int digit = num % 10;
while ((num /= 10) != 0) {
if ((num % 10) != digit)
return 0;
}
return 1;
}
int main(void) {
const char *sep = "";
printf("j={");
for (size_t i = 0; i < lengthof(a); i++) {
if (same_digit(a[i])) {
printf("%s%d", sep, a[i]);
sep = ",";
}
}
printf("}\n");
return 0;
}
を
出力:
j={1,222,44}
あなたはこのような何か試すことができます配列[]、
#define SIZE_OF_ARRAY(_array) (sizeof(_array)/sizeof(_array[0]))
int i;
int j;
int digit;
int res[20] = { 0 };
bool sameDigit(int num)
{
digit = num % 10;
while (0 != num)
{
if ((num % 10) != digit)
{
return false;
}
num = num/10;
}
return true;
}
int main()
{
j = 0;
for (i=0; i<SIZE_OF_ARRAY(a); ++i)
{
if (sameDigit(a[i]))
{
res[j] = a[i];
++j;
}
}
return 0;
}
を与えられた:
#include <stdio.h>
#include <limits.h>
int same_digit(int x);
int
main(void) {
int array[]={1,121, 222,44,451,5510,414};
size_t arrsize = sizeof(array)/sizeof(*array), count = 0;
int j[arrsize], i;
for (i = 0; i < arrsize; i++) {
if (same_digit(array[i])) {
j[count++] = array[i];
}
}
printf("j={");
for (i = 0; i < count; i++) {
printf("%d", j[i]);
if (i != count-1) {
printf(",");
}
}
printf("}\n");
return 0;
}
int
same_digit(int number) {
int digit;
if (number < 0) {
if (number == INT_MIN) {
return 0;
}
number *= -1;
}
digit = number % 10;
while (number > 0) {
if (number % 10 != digit) {
return 0;
}
number = number/10;
}
return 1;
}
出力:
j={1,222,44}
と彼のコンパイラに依存して、彼は彼の関数で変数を宣言することができないかもしれません.. –
@ I-V:どのような種類のコンパイラは関数で変数を宣言できませんか? – chqrlie
"私のリーグ外"ですが、ここを見てください。http://stackoverflow.com/questions/288441/variable-declaration-placement-in-c –
- 1. 与えられた配列(JavaScript)から生成された素数の配列
- 2. 他の配列の別の配列のすべての出現の同じ位置に与えられた数字をどのように置くか?
- 3. 与えられた和に等しい配列要素を見つける
- 4. 配列が与えられた場合、各要素の最後の小さい要素を見つけよう。
- 5. 文字列配列と整数配列の値を持つHashMap出力を出力しない
- 6. アレイは、私はこのような配列を持つたとえば同じ要素
- 7. 与えられた配列から要素を見つけるには?
- 8. 1つの配列に同じ要素が別の配列で含まれているかどうか
- 9. 同じ要素の値を持つ配列を結合し、
- 10. 出力ラッピング少なくとも1つの要素(配列の)
- 11. Pythonで与えられた配列のサブ配列を数えるには?
- 12. 同じインデックスでも異なる配列から要素を出力するruby
- 13. JavaScript - 配列1からランダムな要素を取り出す、配列2から同じ要素番号を取得したい
- 14. 配列が与えられます。与えられた配列から一意の数値を返します
- 15. 与えられた配列の2つの要素の間にある配列要素の数を数える方法
- 16. PHPは、例えば、文字列、与えられた配列
- 17. 1つの配列から、1つの配列の要素
- 18. 与えられた配列内の逆位数を数えよう
- 19. 各要素が同じキーを持つDBObjectの配列
- 20. どのように1つのJSON文字列に提出された同じ
- 21. 配列要素の参照同じ配列の別の要素
- 22. 異なる配列要素を受け取った場合、同じJSON配列が配列にあります
- 23. Lodash:その値(すなわち配列)、それに与えられた要素(すなわち文字列)を持つ
- 24. 私はこの配列( 'myField' => '与えられた値をテキスト領域'、 'myCheckboxes' =>配列(0 => 'someValue1'、1 => 'someValue2'))のように出力しました
- 25. 同じ値を持つ配列要素を削除するにはどうすればよいですか?
- 26. 与えられた配列内の連続した等しい要素の最大数を決定する
- 27. どのように配列の要素の出力位置へ
- 28. は私に同じ日付を持つ配列内のすべての要素を与える、JS
- 29. 与えられた文字列の要素の数を数えます。
- 30. 与えられた配列のCアセンブリエラー
あなたは、ファイル、また 'a.lengthを()' 'のres = {0}は、Cコードではありません含めるのを忘れ;' – chqrlie
まず...無意味である、私は見当がつかない何あなたが話しているファイル... 二番目にありがとう、私は長さの部分を固定 最後に、配列を初期化することは無意味ではないので、良い練習です –
あなたはここでCでプログラミングしていません。 OPは一致する要素を印刷したいので、 ''が必要と思われ、 'true'と' false'を使用するので、 ' 'も使用します。グローバル変数として 'i'、' j'、 'res'と' digit'を定義するのは**非常に**悪いスタイルです。 –
chqrlie