0
누군가가 여러 if 문을 사용하지 못하게하는 해결책을 제시 할 수 있는지 궁금합니다. 그래서 나의 요청은 분명하다. 두 세트의 코드가 제공되었다. 첫 번째 코드 집합은 작업 코드이고 두 번째 코드 집합은 우아한 솔루션의 목적을 수행하는 루프를 작성하려는 시도입니다 (즉, 일반 대답으로 사용되는 패턴을 일반 알고리즘으로 표현). 은 if 루프가 반복 된 방법을 일반화하기C 언어 if 문 :보다 세련된 솔루션을위한 루프를 작성 하시겠습니까?
string is: copy000001
string is: copy000002
string is: copy000003
string is: copy000004
string is: copy000005
string is: copy000006
string is: copy000007
string is: copy000008
string is: copy000009
string is: copy000010
string is: copy000011
string is: copy000012
string is: copy000013
시도 솔루션 :
: 는for (c = 0; c < 5; c++)
{
if (str[d] == ':')
{
str[d] = '0';
str[d-1]++;
d++;
}
}
양식의 출력을 생성
#include <stdio.h>
#include <string.h>
int main()
{
char str[10] = "copy000000";
int i = 9;
int a,b,c;
for (a = 0; a < 10; a++)
{
str[i]++;
for (b = 0; b < 6; b++)
{
if (str[5] == ':')
{
str[5] = '0';
str[4]++;
}
if (str[6] == ':')
{
str[6] = '0';
str[5]++;
}
if (str[7] == ':')
{
str[7] = '0';
str[6]++;
}
if (str[8] == ':')
{
str[8] = '0';
str[7]++;
}
if (str[9] == ':')
{
str[9] = '0';
str[8]++;
}
}
printf("string is: %s\n", str);
b = 0;
}
return 0;
}
이 코드는 형식의 출력을 생성
string is: copy000001
string is: copy000002
string is: copy000003
string is: copy000004
string is: copy000005
string is: copy000006
string is: copy000007
string is: copy000008
string is: copy000009
string is: copy00000:
string is: copy00000;
string is: copy00000<
string is: copy00000=
모든 ID eas 감사하겠습니다.
당신이 ['에게 STR을 의미합니까 세미콜론을 놓친 d] = '\ 0'; 대신에? 현재 시도가 문자열을 9- 종료하지 못했습니다 ... –