C程序设计(第五版)谭浩强 第5章 循环结构程序设计 课件代码及答案

/86累加/
#include <stdio.h>
int main()
{
int sum=0,i=1;
while(i<=100)
{
sum=sum+i;
i++;
}
printf(“sum=%d\n”,sum);
return 0;

}
/*
学生成绩
/
#include <stdio.h>
#include<math.h>
int main()
{
i=0;
while(i<=50)
{
scanf("%f,%f,%f,%f,%f",&score1,&score2,&score3,&score4,score5);
aver=(score1+score2+score3+score4+score5)/5;
printf(“aver=%7.2f”,aver);
i++;
}
return 0;
}
#include <stdio.h>
#include<math.h>
int main()
{
int i,sum=0;
do{
sum=sum+i;
i++;}
while(i<=100);
printf(“sum=%d\n”,sum);
}
#include <stdio.h>
#include<math.h>
int main()
{ int i,c;
for(i=1;;i++) //表达式2始终为真
for(;😉//while(1)
for(i=0;(c=getchar())!=’\n’;i+=c)
for(;(c=getchar())!=’\n’😉
printf("%c",c) ;//按下enter键后,将一批数据一起送到内存缓冲区
}
/

捐款固定数量问题
/
#include <stdio.h>
#define SUM 100000
int main()
{
float amount,aver,total;
int i;
for(i=1,total=0;i<=1000;i++)
{
printf(“please enter amount:”);
scanf("%f",&amount);
total =total+amount;
if(total>=SUM) break;
}
aver=total/i;
printf(“num=%d\naver=%10.2f”,i,aver);
return 0;
}
/输出矩阵/
#include<stdio.h>
int main()
{
int i ,j,n =0;
for(i=1;i<=4;i++)
for(j=1;j<=5;j++,n++)
{
if(n%5==0)printf("\n");
printf("%d\t",i
j);
}
return 0;
}
/输出矩阵/
#include<stdio.h>
int main()
{
int i ,j,n =0;
for(i=1;i<=4;i++)
for(j=1;j<=5;j++,n++)
{
if(n%50)printf("\n");
if(i
3&&j1) continue;//continue
printf("%d\t",ij);
}
return 0;
}
/π/4=1-1/3+1/5+…/
#include<stdio.h>
#include<math.h>
int main()
{
int sign =1; //
double pi=0.0,n=1.0,term=1.0;//pi
while(fabs(term)>=1e-8)
{
pi=pi+term;
n=n+2;
sign=-sign;
term=sign/n;
}
pi=pi
4;
printf("%10.8f\n",pi);
return 0;
}
/fibonacci兔子/
#include<stdio.h>
int main()
{
int f1=1,f2=1,f3;
int i;
printf("%12d\n%12d\n",f1,f2);
for(i=1;i<=38;i++)
{
f3=f1+f2; //当前本月兔子书
printf("%12d\n",f3);
f1=f2; //把前两个月的兔子数
f2=f3; //把前一个月的兔子数
}
return 0;
}
/fibonacci兔子f1 f2算法/
#include<stdio.h>
int main()
{
int f1=1,f2=1;
int i;
for(i=1;i<=20;i++)
{
printf("%12d %12d",f1,f2);
if(i%2
0) printf("\n");
f1=f1+f2;
f2=f2+f1;
}

return 0;
}
/素数/
#include<stdio.h>
int main()
{
int n,i;
printf(“please enter a integer number,n=?”);
scanf("%d",&n);
for(i=2;i<=n-1;i++)
if(n%i0) break;
if(i<n) printf("%d is not a prime number.\n",n);
else printf("%d is a prime number.\n",n);
return 0;
}
/素数/
#include<stdio.h>
#include<math.h>
int main()
{
int n,i,k;
printf(“please enter a integer number:n=?”);
scanf("%d",&n);
k=sqrt(n);
for(i=2;i<=k;i++)
if(n%i
0) break;
if(i<=k) printf("%d is not a prime number.\n",n);
else printf("%d is a prime number.\n");
return 0;
}
/100-200素数/
#include<stdio.h>
#include<math.h>
int main()
{
int n,k,i,m=0;
for(n=101;n<=200;n=n+2)
{
k=sqrt(n);
for(i=2;i<=k;i++)
if(n%i0) break;
if(i>=k+1)
{
printf("%d",n);
m=m+1;
}
if(m%10
0) printf("\n");
}
printf("\n");
return 0;
}
/密码+4/
#include<stdio.h>
int main()
{
char c;
c=getchar();
while(c!=’\n’)
{
if((c>=‘a’&&c<=‘z’)||(c>=‘A’&&c<‘Z’))
if((c>=‘w’&&c<=‘z’)||(c>=‘W’&&c<‘Z’))
c=c-22;
else c=c+4;
printf("%c",c);
c=getchar();
}
printf("\n");
return 0;
}
/密码+4/
#include<stdio.h>
int main()
{
char c;
while((c=getchar())!=’\n’)
{
if((c>=‘A’&&c<=‘Z’)||(c>=‘a’&&c<=‘z’))
{
c=c+4;
if(c>‘Z’&&c<=‘Z’+4||c>‘z’)
c=c-26;
}
printf("%c",c);
}
printf("\n");
return 0;
}
/π/4=1-1/3+1/5…/
#include<stdio.h>
#include<math.h>
int main()
{
int sign = 1,count = 0;
double pi=0.0,n=1.0,term=1.0;
while(fabs(term)>=1e-8)
{
pi=pi+term;
n=n+2;
sign=-sign;
term=sign/n;
count++;
}
pi=pi4;
printf(“pi=%10.8f\n”,pi);
printf(“count=%d\n”,count);
return 0;
}
/最大公约数最大公倍数/
#include<stdio.h>
#include<math.h>
int main()
{
int p,r,n,m,temp;
printf(“please input two integer n,m:”);
scanf("%d,%d",&n,&m);
if(n<m)
{
temp=n;
n=m;
m=temp;//
}
p=n
m; //n>m
while(m!=0) //辗转相除法
{
r=n%m;
n=m;
m=r;
}
printf(":%d\n",n);
printf(":%d\n",p/n); //最大公倍数是2个数相乘除以最大公约数
return 0;
}
/统计英文字母,空格,数字和其他字符的个数/
#include<stdio.h>
#include<math.h>
int main()
{
char c;
int letters=0,space=0,digit=0,other=0;
printf(“please intput one hang charater:\n”);
while((c=getchar())!=’\n’)//
{
if(c>=‘a’&&c<=‘z’||c>=‘A’&&c<=‘Z’)
letters++;
else if(c==’ ')
space++;
else if(c>=‘0’&&c<‘9’)
digit++;
else other++;
}
printf(“letters:%d\nspace:%d\ndigit:%d\nother:%d\n”,letters,space,digit,other);
return 0;
}
/sn=2+22+222+2222+22222+…/
#include<stdio.h>
#include<math.h>
int main()
{
int a,n,i=1,sn=0,tn=0;
printf(“a,n=:”);
scanf("%d %d",&a,&n);
while(i<=n)
{
tn=tn+a; //tn
sn=sn+tn;
a=a10;
++i;
}
printf(“a+aa+aaa+…=%d\n”,sn);
return 0;
}
/从1加到20的阶乘/
#include<stdio.h>
#include<math.h>
int main()
{
double s=0,t=1;
int n;
for(n=1;n<=20;n++)
{
t=t
n;
s=s+t;
}
printf(“1!+2!+3!+…+20!=%22.15e\n”,s);
return 0;
}
#include<stdio.h>
int main()
{
int n1=100,n2=50,n3=10;
double k,s1=0,s2=0,s3=0;
for(k=1;k<=n1;k++)
s1=s1+k;
for(k=1;k<=n2;k++)
s2=s2+kk;
for(k=1;k<=n3;k++)
s3=s3+1/k;
printf(“sum=%15.6f\n”,s1+s2+s3);
return 0;
}
/水仙花数parcissus number are/
#include<stdio.h>
int main()
{
int i,j,k,n;
printf(“parcissus numbers are”);
for(n=100;n<1000;n++)
{
i=n/100;
j=n/10-i
10;
k=n%10;
if(niii+jjj+kkk)
printf("%d\t",n);
}
printf("\n");
return 0;
}
/完数/
#include<stdio.h>
#define M 1000
int main()
{
int m,s,i;
for(m=2;m<M;m++)
{
s=0;
for(i=1;i<m;i++)//i是因子
if(m%i
0) s=s+i;
if(ms)
{
printf("%d,its factors are",m);
for(i=1;i<m;i++)
if(m%i
0) printf("%d “,i);
printf(”\n");
}
}
return 0;
}
/分数之和找规律/
#include<stdio.h>
#define M 20
int main()
{
float num,deno,s=0,t;
int n;
for(num=2,deno=1,n=1;n<=M;n++)
{
s=s+num/deno;
t=num;//注意前个表达式会影响后一个变量,
num=num+deno;
deno=t;
}
printf("%16.10f",s);
return 0;
}
/反弹问题/
#include<stdio.h>
#define M 10
int main()
{
double h=100,s=0;
int i;
for(i=1;i<=M;i++)
{
s=s+h2;
h=h/2;
}
s=s-100;
printf(“第10次落地共经过%f米\n”,s);
printf(“第10次反弹%f米\n”,h);
return 0;
}/猴子吃桃一半再吃一个问题/
#include<stdio.h>
#define M 10
int main()
{
int num=1,i;
for(i=1;i<M;i++)
{
num=(num+1)2;
}
printf("%d",num);
return 0;
}
/猴子吃桃一半再吃一个问题/
#include<stdio.h>
#define M 10
int main()
{
int day,x1,x2;
day=9;
x2=1;
while(day>0)
{
x1=(x2+1)2;
x2=x1;
day–;
}
printf(“total=%d\n”,x1);
return 0;
} /用迭代公式求平方根/
#include<stdio.h>
#include<math.h>
int main()
{
float a,x0,x1;
printf(“enter a positive number:”);
scanf("%f",&a);
x0=a/2;
x1=(x0+a/x0)/2;
do
{
x0=x1;
x1=(x0+a/x0)/2;
}
while(fabs(x0-x1)>=1e-5);
printf(“The square root of %5.2f is %8.5f\n”,a,x1);
return 0;
}
/输出菱形/
#include<stdio.h>
#include<math.h>
int main()
{
int i,j,k;
for(i=0;i<=3;i++)
{
for(j=0;j<=2-i;j++)
printf(" ");
for(k=0;k<=2
i;k++)
printf("
");
printf("\n");
}
for(i=0;i<=2;i++)
{
for(j=0;j<=i;j++)
printf(" ");
for(k=0;k<=4-2
i;k++)
printf("");
printf("\n");
}
return 0;
}
/对手问题/
#include<stdio.h>
#include<math.h>
int main()
{
char i,j,k;
for(i=‘x’;i<=‘z’;i++)
for(j=‘x’;j<‘z’;j++)
if(i!=j)
for(k=‘x’;k<=‘z’;k++)
if(i!=k&&j!=k) //互补相等,
if(i!=‘x’&&k!=‘x’&&k!=‘z’)
printf(“A–%c\nB–%c\nC–%c\n”,i,j,k);
return 0;
}
/二分法求方程根 2pow(x,3)+4(x,2)+3x-6=0
/
#include<stdio.h>
#include<math.h>
int main()
{
float x0,x1,x2,fx0,fx1,fx2;
do
{
printf(“enter x1 & x2:”);
scanf("%f,%f",&x1,&x2);
fx1=x1*((2x1-4)x1+3)-6;
fx2=x2
((2
x2-4)x2+3)-6;
} while(fx1
fx2>0);
do
{
x0=(x1+x2)/2;
fx0=x0*((2x0-4)x0=3)-6;
if((fx0
fx1)<0)
{
x2=x0;
fx2=fx0;
}
else
{
x1=x0;
fx1=fx0;
}
}while(fabs(fx0)>=1e-5);
printf(“x=%6.2f\n”,x0);
}
/牛顿迭代法求方程根 2pow(x,3)+4(x,2)+3x-6=0
/
#include<stdio.h>
#include<math.h>
int main()
{
double x0,x1,f,f1;
x1=1.5;
{
x0=x1;
f=((2*x0-4)*x0+3)x0-6;
f1=(6
x0-8)*x0+3;
x1=x0-f/f1;
} while(fabs(x1-x0)>=1e-5);
printf(“The root of equation is %5.2f\n”,x1);
return 0;

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值