/* 判断正整数m是否为素数 */
#include<stdio.h>
int main(void)
{
int i,m;
printf("Enter a number:");
scanf("%d",&m);
for(i=2;i<=m/2;i++)
if(m%i==0)
break;
if(i>m/2&&m!=!)
printf("%d is a prime number!\n",m);
else
printf("No!\n");
return 0;
}
![]()
/*简单的猜数游戏 */
#include<stdio.h>
int main(void)
{
int mynumber=38;
int count=0,yournumber;
for(count=1;count<=5;count++) {
printf("Input your number:");
scanf("%d",&yournumber);
if(yournumber==mynumber){
printf("Ok! you are right! \n");
break;
}
else
if(yournumber>mynumber)
printf("Sorry! number is bigger than my number! \n");
else
printf("Sorry! your number is smaller than my number! \n");
}
printf("Game is over!\n");
return 0;
}
![]()
/* 使用函数计算 1!+2!+3!+...+100!*/
#include<stdio.h>
double fact(int n);
int main(void)
{
int i;
double sum;
sum=0;
for(i=1;i<=100;i++)
sum=sum+fact(i);
printf("1!+2!+...+100!=%e\n",sum);
return 0;
}
/* 定义求 n! 的函数 */
double fact(int n)
{
int i;
double result;
result=1;
for(i=1;i<=n;i++)
result=result*i;
return result;
}
![]()
![]()
/* 45人正好搬45块砖, 程序版本1 */
#include<stdio.h>
int main(void)
{
int child,men,women;
for(men=0;men<=45;men++)
for(women=0;women<=45;women++)
for(child=0;child<=45;child++)
if(men+women+child==45&&men*3+women+2+child*0.5==45)
printf("men=%d,women=%d,child=%d\n",men,women,child);
return 0;
}
![]()
/* 使用嵌套循环计算 1!+2!+3!+...+100! */
#include<stdio.h>
int main(void)
{
int i,j;
double item,sum;
sum=0;
for(i=1;i<=100;i++){
item=1;
for(j=1;j<=i;j++)
item=item*j;
sum=sum+item;
}
printf("1!+2!+...+100!=%e\n",sum);
return 0;
}<=100;i++){
item=1;
for(j=1;j<=i;j++)
item=item*j;
sum=sum+item;
}
printf("1!+2!+...+100!=%e\n",sum);
return 0;
}
/* 从输入的n个成绩中选出最高分, 用for语句实现 */
#include<stdio.h>
int main(void)
{
int i,mark,max,n;
printf("Enter n:");
scanf("%d",&n);
printf("Enter %d marks:",n);
scanf("%d",&mark);
max=mark;
for(i=1;i<n;i++){
scanf("%d",&mark);
if(max<mark)
max=mark;
}
printf("Max=%d\n",max);
return 0;
}
![]()
/* 逆序输出一个正整数 */
#include<stdio.h>
int main(void)
{
int x;
printf("Enter x:");
scanf("%d",&x);
while(x !=0){
printf("%d",x%10);
x=x/10;
}
return 0;
}
![]()
/* 使用嵌套循环求100以内的全部素数 */
#include<stdio.h>
#include<math.h>
int main(void)
{
int count,i,m,n;
count=0;
for(m=2;m<=100;m++){
n=sqrt(m);
for(i=2;i<=n;i++)
if(m%i==0)
break;
if(i>n){
printf("%6d",m);
count++;
if(count%10==0)
printf("\n");
}
}
printf("\n");
return 0;
}
![]()
/* 输出斐波那契序列: 1,2,3,5,8,...的前10项 */
#include<stdio.h>
int main(void)
{
int i,x1,x2,x;
x1=1;
x2=1;
printf("%6d%6de",x1,x2);
for(i=1;i<=8;i++){
x=x1+x2;
printf("%6d",x);
x1=x2;
x2=x;
}
printf("\n");
return 0;
}
![]()
/* 用格雷戈里公式计算π的近似值,精度要求:最后一项的绝对值小于0.0001 */
#include<stdio.h>
#include<math.h>
int main(void)
{
int denominator,flag;
double item,pi;
/* 循环初始化 */
flag=1;
denominator=1;
item=1.0;
pi=0;
while(fabs(item)>=0.0001){
item=flag*1.0/denominator;
pi=pi+item;
flag=-flag;
denominator=denominator+2;
}
pi=pi*4;
printf("pi=%.4f\n",pi);
return 0;
}
/* 输入一批学生的成绩, 以负数作为结束标志, 计算平均成绩, 并统计不及格人数 */
#include<stdio.h>
int main(void)
{
int count,num;
double grade,total;
count=0;
printf("Enter grades:");
scanf("%lf",&grade);
while(grade>=0){
total=total+grade;
num++;
if(grade<60)
count++;
scanf("%lf",&grade);
}
if(num !=0){
printf("Grade average is %.2f\n",total/num);
printf("Number of failures is %d\n",count);
}
else
printf("Grade average is 0\n");
return 0;
}
/* 统计一个整数的位数 */
#include<stdio.h>
int main(void)
{
int count,number;
count=0;
printf("Enter a number:");
scanf("%d",&number);
if(number<0)number=-number;
do{
number=number/10;
count++;
}while(number !=0);
printf("It contains %d digits.\n", count);
return 0;
}