5.1 用while语句实现循环
while语句的一般形式如下:while(表达式)
例:求1+2+3....+100
#include<stdio.h> int main(){ int i=1,sum=0; while(i<=100){ sum=sum+i; i++; } printf("sum%d\n",sum); return 0; }
5.2 用do——while语句实现循环
例:1+2+3...+100
#include<stdio.h> int main(){ int i=1,sum=0; do{ sum=sum+i; i++; }while(i<100){ printf("sum%d\n",sum); }return 0; }
例:输出以下4*5的矩阵
#include<stdio.h> int main(){ int i,j,n=0; for(i=0;i<=4;i++) for(j=0;j<=5;j++){ if(n%5==0)printf("\n"); printf("%d\t",i*j); } printf("\n"); return 0; }
例:输入一个大于3的整数n,判定它是否素数。
#include<stdio.h> int main(){ int n,i; printf("n=?");scanf("%d",&n); for(i=2;i<=n-1;i++) if(n%i==0)break; if(i<n)printf("%d is not\n",n); else if("%d is\n",n); return 0; }
例:求1-5的阶乘的和
#include<stdio.h> int main(void){ int i=1,s=1,sum=0; do{ s*=i; sum+=5; ++i; } while(i<=5); printf("%d\n",sum); return 0; }
例:1-100之间不能被3整除的数输出
#include<stdio.h> int main(void){ for(int i=1;i<=100;++i){ if 0 if(i%3==0){ continue; printf("%d\n",i); } else if(i%3!=0){ printf("%d\n",i); } } return 0; }
重难点:
如何判断a是否为质数:
void lsx(int a) { for(i=2;i<a/2;i++){ if(a%i==0)printf("不是质数"); } print("是质数"); }
如何求阶层:
int fun(int n){ int p=1; for(i=1;i<=n;i++) p=p*i; return p; }