标记标量可以单独使用,在循环完成后检验某一条件是否变化
例如求小于等于n所有的素数
#include
int main(void)
{
int i,n,q,flag;
scanf("%d",&n);
for(i=2;i<=n;i++){
for(q=2,flag=1;q<i;q++){
if(i%q==0)
flag=0;}
if(flag==1)
printf("%d is sushu\n",i);
}
getchar();
return 0;
}
求输入单词的个数和单词所有字
#include <stdio.h>
#include <ctype.h>
int main(void)
{
char ch;
int i=0,j=0,flg=0;
while((ch=getchar())!=EOF){
if(isalpha(ch))
i++;
if (!isspace(ch)&&flg==0){
j++;
flg=1;
}
if (isspace(ch)&&flg==1)
flg=0;
}
printf("charactors:%d words:%d",i,j);
getchar();
return 0;
}
标记标量也可以配合continue,在循环过程中检验某一条件是否变化,然后当做进入下一次循环的判断条件。
例如编写程序读取输入,直到#,并报告序列ei出现的次数
#include
int main(void)
{
char ch;
int flg=0,n=0;
while((ch=getchar())!='#'){
if(ch=='e'){
flg=1;
continue;
}
if(ch=='i'&&flg==1)
{
flg=0;
n++;
}
flg=0;
}
printf("has %d ei",n);
getchar();
getchar();
return 0;
}