for 循环 语法: for(表达式1;表达式2;表达式3) { 循环体 } 执行:首先执行表达式 1,然后判断表达式2是否成立,如果成立执行循环体,执行表达式3,然后继续判断表达式2是否成立,执行循环体… 如果表达式2不成立则结束循环 表达式2为循环条件 表达式1只执行一次,通常为循环变量赋初值 表达式3通常为循环变量的改变 表达式1;表达式2;表达式3全部可以省略,但是分号不能省略 2逗号运算符(,) 作用:分隔符,可以将多个表达式,通过逗号,连接成一个逗号表达式 for(i=1,sum=0;1<101;sum+=i,i++) 逗号表达式求解:至左至右来计算每一个表达式,并且将最后一个表达式的值,(最右边表达式的值)作为整个逗号表达式的值,在实际编程时,很少使用逗号表达式的值。 3:循环的嵌套:外循环执行一次,内循环执行一轮
输入一行字符,分别统计其中英文字母,空格,数字,和其它字符的个数
#include"stdio.h" int main() { int t1,t2,t3,t4; char c; t1=t2=t3=t4=0; //int t1=t2=0;不能直接这样定义,因为t1=t2=0这种表达式是从右到左的,也就是先执行t2=0,再执行t1=t2,相当于只定义了t1,而t2在没定义之前就在使用了 while((c=getchar())/*得到一个运行一次*/!='\n') { if(c>='a'&&c<='z'||c>='A'&&c<='Z') t1++; else if(c>='1'&&c<'10') t2++; else if(c==' ') t3++;//注意是等于等于 else t4++; } printf("t1=%d t2=%d t3=%d t4=%d",t1,t2,t3,t4); }输出所有水仙花数,所谓水仙花数是指一个3位数,其各位数字立方和等于该数本身,例如,153是水仙花数=111+555+333
#include"stdio.h" int main() { int x=100,x1,x2,x3; do { x3=x/100;//x3为百位数 x2=x/10%10;//x2为十位数 x1=x%10;//x1为个位数 if(x3*x3*x3+x2*x2*x2+x1*x1*x1==x) printf("%d\n",x); x++; }while(x<=999); }求素数:某个数n除1和它本身外,不能被其它正整数,整除的数为素数,n除任何一个数余数都不为零
for循环
#include"stdio.h" int main() { int j,i; for(i=2;i<=100;i++) { int t=1; for(j=2;j<i/2;j++) { if(i%j==0) { t=0; break; } } if(t==1) printf("%d ",i); } }while嵌套for循环
#include"stdio.h" int main() { int j,i; i=2; while(i<=100) { int t=1; for(j=2;j<i/2;j++) { if(i%j==0) { t=0; break; } } if(t==1) printf("%d ",i); i++; } }while循环
#include"stdio.h" int main() { int i=2,j=2;//j=2不能只写在这里,因为每次循环j的指都要为2 while(i<=100) { int t=1; j=2;//j要从2重新算起 while(j<i/2) { if(i%j==0) { t=0; break; } j++; } if(t==1) printf("%d ",i); i++; } }