目录
前言:所有程序均已经过调试
一、求1+2+3+···+100的和
1.while语句
#include<stdio.h>
int main()
{
int n=1,sum=0;
while(n<=100)
{
sum=sum+n;
n++;
}
printf("sum=%d\n",sum);
return 0;
}
2.do····while语句
#include<stdio.h>
int main()
{
int n=1,sum=0;
do
{
sum=sum+n;
n++;
}while (n<=100);
printf("%d\n",sum);
return 0;}
3.for循环语句
#include<stdio.h>
int main()
{
int n,sum=0;
for(n=0;n<=100;n++)
sum=sum+n;
printf("%d",sum);
return 0;}
二、求两个正整数m,n的最大公约数
#include<stdio.h>
int main()
{
int m,n,r;
printf("please input m,n:\n");
scanf("%d,%d",&m,&n);
while((r=m%n)!=0)
{
m=n;n=r;}
printf("the greatest common divisor is %d\n",n);
return 0;}
采用方法的是辗转相除法
三、计算用户输入的非负整数的位数
#include<stdio.h>
int main()
{
int d=0,n;
printf("please enter a nonnegative integer:");
scanf("%d",&n);
do {
n=n/10;
d++;
}while (n>0);
printf("%d\n",d);
return 0;}
n/10,整型变量,只保留整数部分
四、兔子繁殖问题
输出斐波那契数列的前12项
#include<stdio.h>
int main()
{
int i,f1=1,f2=1,f;
printf("%6d",f1);
printf("%6d",f2);
for(i=3;i<13;i++)
{f=f1+f2;
printf("%6d",f);
f1=f2;
f2=f;}
return 0;}
五、输出阶梯式的乘法口诀表
示例:
#include<stdio.h>
int main()
{
int i,j;
for(i=1;i<=9;i++)
{for(j=1;j<=i;j++)
printf("%d*%d=%-4d",j,i,i*j);
printf("\n");
}
return 0;
}
六、判断是否为素数
1.逐一法
#include<stdio.h>
#include<math.h>
int main()
{
int n,k,i;
scanf("%d",&n);
k=sqrt(n);
for(i=2;i<=k;i++)
if(n%i==0) break;
if(i==k+1&&n>2)
printf("su shu");
else
printf("fei su shu ");
return 0;}
注意:此处的循环是for(i=2;i<=k;i++)
2.标记法
#include<stdio.h>
#include<math.h>
int main()
{
int i,j,k,f,n;
scanf("%d",&n);
k=sqrt(n);
for(i=2,f=1;i<=k&&f;i++);
if(n%i==0) f=0;
if(f)
printf("su shu");
else
printf("fei su shu");
return 0;}
循环条件:for (i=2,f=1;i<=k&&f;i++),f即为标记的变量,f=0,非素数,f=1,素数。借助if结构判断。