この質問に何百万回も質問がありましたが、実際に私のケースを助ける答えが見つからなかっただけで解決策が見えません。Cのforループの先頭に戻る
私は、整数を取り、その中に各数字が何回出現するかを数え、同じ情報を二度も表示しないプログラムを作るという仕事を与えられました。私たちは配列を使って作業しているので、配列を使ってやる必要がありました。私のコードがC言語の知識が不足しているために乱雑です。私は思考プロセスを説明し、コードを与えようとします。
数字を入力した後、数字を10で割って配列に入れた後(配列が逆になっているので)、逆の配列を反転させて見栄えを良くしました。必須ではありません)。その後、私はループのためにたくさんの嫌なことがあります。最初の要素とすべての要素を再び比較しながら配列全体をループしようとするので、配列の各要素に対して、配列の各要素と再び比較します。私はまた、各チェックの後に新しい配列にチェックされた要素を追加するので、要素が前に比較されているかどうかを最初に確認することができるので、すべてをやり直す必要はありませんが、それは私の問題です。私は継続または後藤で操作のトンを試したが、私は解決策を見つけることができません。だから私はちょうど** EDIT:return 0 **を使用して、私のアイデアが最初からうまくいっているかどうかを確認しました。私にとっては、forループの先頭に戻るという知識が不足しているようです。お願い助けて?
//戻り値0の場合、プログラムはすでにチェックされているので、数字1をチェックしようとすると完全に停止します。私はそれが他のものをチェックし続けたいが、パットの多くのバージョンでは、それは仕事をしていない。 //
///コードを見栄え良くしようとしました。 ///私は何が必要だと思う
#include <stdio.h>
#define MAX 100
int main()
{
int a[MAX];
int b[MAX];
int c[MAX];
int n;
int i;
int j;
int k;
int counter1;
int counter2;
printf("Enter a whole number: ");
scanf("%i",&n);
while (1)
{
for (i=0,counter1=0;n>10;i++)
{
a[i] = n%10;
n=n/10;
counter1+=1;
if (n<10)
a[counter1] = n;
}
break;
}
printf("\nNumber o elements in the array: %i", counter1);
printf("\nElements of the array a:");
for (i=0;i<=counter1;i++)
{
printf("%i ",a[i]);
}
printf("\nElements of the array b:");
for (i=counter1,j=0;i>=0;i--,j++)
{
b[j] = a[i];
}
for (i=0;i<=counter1;i++)
{
printf("%i ",b[i]);
}
for (i=0;i<=counter1;i++)
{
for(k=0;k<=counter1;k++)
{
if(b[i]==c[k])
{
return 0;
}
}
for(j=0,counter2=0; j<=counter1;j++)
{
if (b[j] == b[i])
{
counter2+=1;
}
}
printf("\nThe number %i appears %i time(s)", b[i], counter2);
c[i]=b[i];
}
}
なぜながら、(1)とブレーク。彼らは基本的にちょうどお互いをキャンセルします。それは何もしていない余分なコードです。 –
あなたの答えは本当に私の質問に合っておらず、どんな場合でも役に立ちません... – dragoljub
これは答えのコメントではありません –