1、原始程序, 使以下程序在接收负数时不换行
#include <stdio.h>
int main(void)
{
int i;
puts("please input an integer.");
printf("i = "); scanf("%d", &i);
while (i >= 0)
{
printf("%d ", i);
i--;
}
putchar('\n');
return 0;
}
2、方法1
#include <stdio.h>
int main(void)
{
int i;
puts("please input an integer.");
printf("i = "); scanf("%d", &i);
if (i >= 0)
{
while (i >= 0)
{
printf("%d ", i);
i--;
}
putchar('\n');
}
return 0;
}
3、方法2
#include <stdio.h>
int main(void)
{
int i, cnt = 0;
puts("please input an integer.");
printf("i = "); scanf("%d", &i);
while (i >= 0)
{
printf("%d ", i);
i--;
cnt++;
}
if (cnt > 0)
{
putchar('\n');
}
return 0;
}
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
1、while语句
#include <stdio.h>
int main(void)
{
int i;
puts("please input an integer.");
printf("i = "); scanf("%d", &i);
if (i >= 0)
{
while (i >= 0)
{
printf("%d ", i);
i--;
}
printf("\n");
}
return 0;
}
↓
#include <stdio.h>
int main(void)
{
int i, j = 0;
puts("please input an integer.");
printf("i = "); scanf("%d", &i);
while (i >= 0)
{
printf("%d ", i);
i--;
j++;
}
if (j > 0)
{
printf("\n");
}
return 0;
}
2、do语句
#include <stdio.h>
int main(void)
{
int i;
puts("please input an integer.");
printf("i = "); scanf("%d", &i);
if (i >= 0)
{
do
{
printf("%d ", i);
i--;
}
while (i >= 0);
printf("\n");
}
return 0;
}
3、for语句
#include <stdio.h>
int main(void)
{
int i;
puts("please input an integer.");
printf("i = "); scanf("%d", &i);
if (i >= 0)
{
for(i; i >= 0; i--)
{
printf("%d ", i);
}
printf("\n");
}
return 0;
}
↓
#include <stdio.h>
int main(void)
{
int i, j = 0;
puts("please input an integer.");
printf("i = "); scanf("%d", &i);
for (i; i >= 0; i--)
{
printf("%d ", i);
j++;
}
if (j > 0)
{
printf("\n");
}
return 0;
}