分支与循环(2)
练习题:打印一架小飞机
int i,j,k;
for(i=0;i<6;i++)
{
if(i!=2 &i!=3)
{
for(j=0;j<12;j++)
{
if(j==5 ||j==6)
printf("*");
else
printf(" ");
}
printf("\n");
}
else
{
for(k=0;k<12;k++)
{
printf("*");
}
printf("\n");
}
}
return 0;
对 getchar() 输入函数的理解
int ret=0;
char password[20]={0};
printf("输入密码");
scanf("%s",password); //输入密码,并存放在数组中,缓冲区还剩余一个‘\n’
getchar(); //读取‘\n’
printf("请确认(Y/N):");
ret=getchar(); //此时才会读取Y/N
while((ch=getchar())!='\n')
{
; //用来将缓冲区的'\n'读取完
}
for(;;)
{
printf("haha\n");
} //这是一个死循环
int i=0,j=0;
for(;i<10;i++)
{
for(;j<10;j++)
{
printf("haha\n");
}
}
return 0; //结果只有十个haha,因为第一次j=10跳出循环,当i=1时,j没有初始化仍是10
//计算阶乘
int i,n;
int sum=1;
scanf("%d",&n);
for(i=1;i<n+1;i++)
{
sum=sum*i;
}
printf("%d",sum);
return 0;
//在一个数组中找到具体数
int arr[]={1,2,3,4,5,6,11,8};
int i,k=4;
for(i=0;i<(sizeof(arr)/sizeof(arr[0]));i++) //arr 数组个数很关键,要除以arr[0]
{
if(k==arr[i])
{
printf("k的位置:%d\n",i);
}
}