4.1
#include
int main(void)
{
int retry;
do
{
int no;
printf("请输入一个整数:");
scanf("%d", &no);
if (no == 0)
puts("该整数为0.");
else if (no > 0)
puts("该整数为正数.");
else
puts("该整数为负数.");
printf("是否继续? ");
scanf("%d", &retry);
}while (retry == 0);
return 0;
}
4.2
#include
int main(void)
{
int a, b, max, min;
int sum = 0;
printf("请输入两个整数: ");
scanf("%d %d", &a, &b);
if (a >= b)
{
min = b;
max = a;
}
else
{
min = a;
max = b;
}
do
{
sum = sum + min;
min = min + 1;
}while (min <= max);
printf("这两个整数及其之间所有整数的和为%d.\n", sum);
return 0;
}
4.3
#include
int main(void)
{
int no;
printf("请输入一个正整数: ");
scanf("%d", &no);
while (no >= 0)
{
printf("%d ", no);
no--;
}
while (no >= 0)
printf("\n");
return 0;
}
4.4
#include
int main(void)
{
int no;
printf("请输入一个正整数: ");
scanf("%d", &no);
while (no > 0)
printf("%d ", no--);
while (no >= 0)
{
printf("\n");
no--;
}
return 0;
}
4.5
#include
int main(void)
{
int i, no;
printf("请输入一个正整数: ");
scanf("%d", &no);
i = 1;
while (i <= no)
printf("%d ", i++);
if (no < 0);
return 0;
}
4.6
#include
int main(void)
{
int no, i;
printf("请输入一个正整数: ");
scanf("%d", &no);
i = 2;
while (i <= no)
{
printf("%d ", i);
i += 2;
}
return 0;
}
4.7
#include
int main(void)
{
int i, no;
printf("请输入一个正整数: ");
scanf("%d", &no);
i = 2;
while (i <= no)
{
printf("%d ", i);
i = i * 2;
}
return 0;
}
4.8
#include
int main(void)
{
int no;
printf("请输入一个正整数: ");
scanf("%d", &no);
while (no-- > 0)
putchar('*');
while (no >= 1)
printf("\n");
return 0;
}
4.9
#include
int main(void)
{
int num, i;
printf("要输入多少个整数: ");
scanf("%d", &num);
i = 0;
while (num >= 0 && i < num){
if (i % 2)
putchar('-');
else
putchar('+');
i++;
}
return 0;
}
4.10
#include
int main(void)
{
int num, i;
printf("要输入多少个整数: ");
scanf("%d", &num);
i = 0;
while (num >= 0 && i < num)
{
putchar('*');
printf("\n");
i++;
}
return 0;
}
4.11
#include
int main(void)
{
int no;
do{
printf("请输入一个正整数: ");
scanf("%d", &no);
if (no <= 0)
puts("\a请不要输入非正整数。");
}while (no <= 0);
/* no比0大时 */
printf("%d逆向显示的结果是", no);
while (no > 0)
{
printf("%d", no % 10);
no /= 10;
}
puts("。");
return 0;
}
4.12
#include
int main(void)
{
int no, i;
do{
printf("请输入一个正整数: ");
scanf("%d", &no);
if (no <= 0)
puts("\a请不要输入非正整数。");
}while (no <= 0);
/* no比0大时 */
printf("%d的位数是", no);
i = 0;
while (no > 0)
{
no /= 10;
i++;
}
printf("%d。", i);
return 0;
}
4.13
#include
int main(void)
{
int no, i, sum;
printf("请输入n的值: ");
scanf("%d", &no);
sum = 0;
for (i = 0; i <= no; i++)
{
sum += i;
}
printf("1到%d的和为%d。\n", no, sum);
return 0;
}
4.14
#include
int main(void)
{
int i, j, n;
j = 1;
printf("请输入一个正整数: ");
scanf("%d", &n);
for (i = 0; i < n; i++)
{
printf("%d", j);
j++;
if (j > 9)
j -= 10;
}
printf("\n");
return 0;
}
4.15
#include
int main(void)
{
int n1, n2, n3, i;
double w;
printf("开始数值(cm): ");
scanf("%d", &n1);
printf("结束数值(cm): ");
scanf("%d", &n2);
printf("间隔数值(cm): ");
scanf("%d", &n3);
i = n1;
while (i <= n2)
{
w = (i - 80) * 0.7;
printf("%dcm %.2fkg\n", i, w);
i += n3;
}
return 0;
}
4.16
#include
int main(void)
{
int n, i;
printf("请输入一个整数: ");
scanf("%d", &n);
for (i = 1; i <= n; i+= 2)
{
printf("%d ", i);
}
printf("\n");
return 0;
}
4.17
#include
int main(void)
{
int n, i;
printf("请输入一个整数: ");
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
printf("%d的二次方是%d\n", i, i * i);
}
return 0;
}
4.18
#include
int main(void)
{
int n, i;
printf("请输入一个整数: ");
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
putchar('*');
if (i % 5 == 0)
printf("\n");
}
return 0;
}
4.19
#include
int main(void)
{
int i, n;
int j = 0;
printf("请输入一个整数: ");
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
if (n % i == 0)
{
printf("%d\n", i);
j++;
}
}
printf("约数有%d个。\n", j);
return 0;
}
4.20
#include
int main(void)
{
int i, j;
printf(" | ");
for (j = 1; j <= 9; j++)
{
printf("%3d ", j);
}
printf("\n");
printf("------------------------------------------------\n");
for (i = 1; i <= 9; i++)
{
printf("%d | ", i);
for (j = 1; j <= 9; j++)
{
printf("%3d ", i * j);
}
printf("\n");
}
return 0;
}
4.21
#include
int main(void)
{
int n, i, j;
printf("请输入一个正整数: ");
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
for (j = 1; j <= n; j++)
{
putchar('*');
}
printf("\n");
}
return 0;
}
4.22
#include
int main(void)
{
int i, j;
int height, width;
puts("让我们来画一个长方形。");
printf("一边: ");
scanf("%d", &height);
printf("另一边: ");
scanf("%d", &width);
for (i = 1; i <= width; i++)
{
for (j = 1; j <= height; j++)
{
putchar('*');
}
putchar('\n');
}
return 0;
}
4.23
直角在左上方:
#include
int main(void)
{
int i, j, len;
puts("生成直角在左上方的等腰直角三角形。");
printf("短边: ");
scanf("%d", &len);
for (i = 1; i <= len; i++)
{
for (j = len; j >= i; j--)
{
putchar('*');
}
putchar('\n');
}
return 0;
}
直角在右上方:
#include
int main(void)
{
int i, j, len;
puts("生成直角在右上方的等腰直角三角形。");
printf("短边: ");
scanf("%d", &len);
for (i = len; i > 0; i--)
{
for (j = 1; j <= len - i; j++)
{
putchar(' ');
}
for (j = 1; j <= i; j++)
{
putchar('*');
}
printf("\n");
}
return 0;
}
4.24
#include
int main(void)
{
int i, j, len;
printf("让我们来画一个金字塔。\n");
printf("金字塔有几层: ");
scanf("%d", &len);
for (i = 1; i <= len; i++)
{
for (j = 1; j <= len - i; j++)
{
putchar(' ');
}
for (j = 1; j <= (i - 1) * 2 + 1; j++)
{
putchar('*');
}
printf("\n");
}
return 0;
}
4.25
#include
int main(void)
{
int i, j, n;
printf("让我们来画一个向下的金字塔。\n");
printf("金字塔有几层: ");
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
for (j = n; j > n - i + 1; j--)
{
putchar(' ');
}
for (j = 1; j <= (n - i) * 2 + 1; j++)
{
printf("%d", i % 10);
}
printf("\n");
}
return 0;
}