打印1到100之间所有的整数:
int main()
{
int i;
for(i=1; i<=100; i++)
printf("%d\n",i);
return 0;
}
每五个换行
int main()
{
int i;
for(i=1; i<=100; i++)
{
printf("%d\t",i);
if(i%5==0)
printf("\n");
}
return 0;
}
打印奇数
int main()
{
int i;
for(i=1; i<=100; i++)
{
if(i%2==1)
printf("%d\t",i);
}
return 0;
}
增加换行
int main()
{
int i;
for(i=1; i<=100; i++)
{
if(i%2==1)
printf("%d\t",i);
if(i%10==9)
printf("\n");
}
return 0;
}
简单版本
int main()
{
int i;
for(i=1; i<=100; i+=2)
{
printf("%d\t",i);
}
return 0;
}
倒序打印
int main()
{
int i;
for(i=100; i>0; i--)
{
if(i%2==1)
printf("%d\t",i);
}
return 0;
}
进一步变换代码
int main()
{
int i=1;
for(; i<=100; i++)
{
printf("%d\t",i);
}
return 0;
}
请问该程序在循环结束后,i变量值为多少?
进一步变换代码
int main()
{
int i=1;
for(; i<=100;)
{
printf("%d\t",i);
i++;
}
return 0;
}
等价写法
int main()
{
int i=1;
while(i<=100)
{
printf("%d\t",i);
i++;
}
return 0;
}
死循环
int main()
{
int i;
while(i>=1)
{
printf("%d\t",i);
}
return 0;
}
请问这个程序是否为死循环?
int main()
{
int i;
while(i>=1)
{
printf("%d\t",i);
i*=2;
}
return 0;
}
提示:并非死循环,因为变量溢出后产生的值会为负数,从而小于1
猜数字:
版本1:
#include <time.h>
int main()
{
srand(time(0));
//printf("%d",rand()%100+1);
int rnd=rand()%100+1;
printf("%d\n",rnd);
int nmbr;
while(1)
{
scanf("%d",&nmbr);
if(nmbr>rnd)
{
printf("太大了!\n");
}
else if(nmbr<rnd)
{
printf("太小了!\n");
}
else
{
printf("太好了!\n");
return 0;
}
}
return 0;
}
版本2:
#include <time.h>
int main()
{
srand(time(0));
//printf("%d",rand()%100+1);
int rnd=rand()%100+1;
//printf("%d\n",rnd);
int flag=1;
int nmbr;
while(flag==1)
{
scanf("%d",&nmbr);
if(nmbr>rnd)
{
printf("太大了!\n");
}
else if(nmbr<rnd)
{
printf("太小了!\n");
}
else
{
printf("太好了!\n");
flag=0;
}
}
return 0;
}
增加次数统计
#include <time.h>
int main()
{
srand(time(0));
//printf("%d",rand()%100+1);
int rnd=rand()%100+1;
printf("%d\n",rnd);
int flag=1;
int nmbr;
int count=0;
while(flag==1)
{
count++;
scanf("%d",&nmbr);
if(nmbr>rnd)
{
printf("太大了!\n");
}
else if(nmbr<rnd)
{
printf("太小了!\n");
}
else
{
printf("太好了!你总共猜了%d次!\n",count);
flag=0;
}
}
return 0;
}
[此贴子已经被作者于2015-11-30 10:54:26编辑过]