1. Un programa implementado con la declaración while
#include <stdio.h>
int main()
{
int i=1, sum=0;
while (i<=100)
{
sum += i;
++i;
}
printf("%d\n", sum);
}
2. Programa implementado con la declaración do ... while
#include <stdio.h>
int main()
{
int i = 1, sum = 0;
do
{
sum += i;
++i;
} while (i <= 100);
printf("%d\n", sum);
}
3. El programa implementado con la instrucción for ()
#include <stdio.h>
int main()
{
int i = 1, sum = 0;
for (i = 0; i <= 100; ++i)
{
sum += i;
}
printf("%d\n", sum);
}
运行结果:5050 结果正确
#include <stdio.h>
int main()
{
int i = 1, sum = 0;
for (i = 0; i <= 100; sum += i, ++i);
printf("%d\n", sum);
}
运行结果:5050 结果正确
#include <stdio.h>
int main()
{
int i = 1, sum = 0;
for (i = 0; i <= 100; ++i, sum += i);
//多加一次101,结果错误
printf("%d\n", sum);
}
运行结果:5151 结果有错误
4. Habilidades para usar la declaración for (no se recomienda)
//(1)
int i=1,sum=0;
for(;i<=100;i++)
{
sum=sum+i;
}
//(2)
int i,sum=0;
for(i=1;;i++)
{
sum=sum+i;
if (i>=100)
break;
}
//(3)
int i,sum=0;
for(i=1;i<=100;)
{
sum=sum+i;
i++;
}
//(4)
int i=1,sum=0;
for(;i<=100;)
{
sum+=i;
i++;
}
//(5)
int i=1,sum=0;
for(;;)
{
sum=sum+i;
i++;
if(i>100) break;
}
//(6)
int i=1,sum=0;
for(i=1;i<=100;sum+=i,i++);
//(7)
int i=1,sum=0;
for(i=1;i<=100;sum+=i,i+=2);
//(8)
int sum = 0;
for (int i = 0; i <= 100; sum += i, ++i);
V. Programa de lectura
#include <stdio.h>
int main()
{
char c1, c2;
for (c1 = '0', c2 = '9'; c1 < c2; ++c1, --c2)
{
printf("%c %c\n", c1, c2);
}
}
#include <stdio.h>
#include <windows.h> //使用Sleep()函数必须包含windows.h,这种方法只适用于windows
int main()
{
int i;
for (i = 1; i <= 10; i++)
{
Sleep(200); //等待200毫秒
printf("■");
}
printf("\n");
return 0;
}
#include <stdio.h>
#include <windows.h> //使用Sleep()函数必须包含windows.h,这种方法只适用于windows
int main()
{
int i;
printf("安装进度:0%%"); //格式控制串中用%%表示输出一个%
for (i = 1; i < 100; i++)
{
Sleep(100);
if (i <= 10)
printf("\b\b"); //\b表示将输出位置左移一位
else
printf("\b\b\b");
printf("%d%%", i);
}
printf("\b\b\bdone!\n");
return 0;
}
Seis. Proyectos prácticos
1. Tres declaraciones de bucle, encuentre la suma de todos los números pares dentro de 1000
#include <stdio.h>
int main()
{
int i, sum = 0;
for (i = 2; i < 1000; i += 2)
{
sum += i;
}
printf("%d\n", sum);
}
#include <stdio.h>
int main()
{
int i=2, sum = 0;
while (i<1000)
{
sum += i;
i += 2;
}
printf("%d\n", sum);
}
#include <stdio.h>
int main()
{
int i = 2, sum = 0;
do
{
sum += i;
i += 2;
} while (i < 1000);
printf("%d\n", sum);
}
2. Ingrese n, pregunte por n! Y envíe
#include <stdio.h>
int main()
{
int n, sum = 1;
scanf_s("%d", &n);
for (int i = 1; i <= n; ++i)
{
sum *= i;
}
printf("%d\n", sum);
}
本程序在输入的n过大时,会超出整型数据类型表达的范围,产生“溢出”
3. Genere todos los números enteros dentro de 1000 que puedan ser divisibles por 3 y cuyo único dígito sea 6
解法1:好理解,循环次数多
#include <stdio.h>
int main()
{
for (int i = 0; i < 1000; i++)
{
if (i % 3 == 0 && i % 10 == 6)
printf("%d\n", i);
}
}
解法2:更优代码,循环次数少
#include <stdio.h>
int main()
{
int i, j;
for (i = 0; i < 100; i++)
{
j = i * 10 + 6;
if (j % 3 == 0)
printf("%d\n", j);
}
}
4.Haga un programa, ingrese 10 enteros y encuentre el número máximo
#include <stdio.h>
int main()
{
int k, x, max;
scanf_s("%d", &x);
max = x;
for (k = 2; k <= 10; k++)
{
scanf_s("%d", &x);
if (x > max)
max = x;
}
printf("Max=%d\n", max);
}