#c
#c
Вопрос:
Поскольку я новичок в мире программирования, я сталкиваюсь с небольшой проблемой при написании программы для этого шаблона.Я пробовал много раз, но результат не тот, который я хотел? Шаблон :
1
23
456
78910
То, что я написал, это :-
#include<stdio.h>
#include<conio.h>
void main()
{
int num = 1 , j = 1 , x = 1 , i = 1 ;
while( j <= 4 ) {
while( i <= num ) {
printf( "%d", x ) ;
x ;
i ;
}
num ;
i = ( i 1 ) - num ;
j ;
}
getch() ;
}
Комментарии:
1. Вы знаете, что подобный цикл
int i = x; while (i < y) { ...; i ; }
эквивалентенfor (int i = x; i < y; i ) { ... }
?2. Это должно быть
int main()
, а неvoid main()
.3. Если вы хотите печатать что-то в разных строках, вам нужно делать
printf("n");
между строками.4. Новая строка не выводится.
5. @Havenard Он увеличивается на 2, потому что 10 — это 2 цифры, все остальное — всего 1 цифра. Считайте числа, а не цифры.
Ответ №1:
#include <stdio.h>
int main()
{
printf("1n23n456n78910n");
return 0;
}
выдает желаемый результат
Комментарии:
1. В лучшем случае это должен быть комментарий. : P
2. Это не должно быть ничем.
3. Здесь происходит серьезная оптимизация.
Ответ №2:
Вам нужно напечатать новую строку после внутреннего цикла:
#include<stdio.h>
#include<conio.h>
int main()
{
int num = 1 , j = 1 , x = 1 , i = 1 ;
while( j <= 4 ) {
while( i <= num ) {
printf( "%d", x ) ;
x ;
i ;
}
printf("n");
num ;
i = ( i 1 ) - num ;
j ;
}
getch();
return(0);
}
Комментарии:
1. Не уверен, почему downvotes, он действительно выдает желаемый результат. ideone.com/a1bceq
return
не хватает только этого.2. Я думаю, что мой отрицательный голос такой же загадочный, как и все положительные голоса для другого ответа.
3. Вы получаете от меня преимущество — просто чтобы сбалансировать бухгалтерские книги
4. проголосовать за решение очевидного вопроса OPs. (проголосуйте за Ed, потому что это заставило меня смеяться)
Ответ №3:
Есть еще один пример:
int main()
{
int i, j, num = 1, line = 4;
for(i = 1; i <= line ; i )
{
for(j = 0; j < i; j )
{
printf("%d", num);
num ;
}
printf("n");
}
return 0;
}
Ответ №4:
С помощью одного цикла:
# include<stdio.h>
# define LIMIT 100
int main(){
int i, prev=0, next=0, diff=1;
for(i=1;i<LIMIT;i ){
printf("%d", i);next ;
if(diff == next-prev){
printf("n");
diff ;prev = next = 0;
}
}
}