C语言课后习题.docx
《C语言课后习题.docx》由会员分享,可在线阅读,更多相关《C语言课后习题.docx(16页珍藏版)》请在冰豆网上搜索。
C语言课后习题
计算调和级数之和
#include
#include
main()
{
doublesum;
intk;
sum=0;
for(k=1;k<=10;k++){
sum+=1.0/k;
}
printf("Thesumis%lf\n",sum);
system("PAUSE");
return0;
}
计算阶乘之和
#include
#include
main()
{
intsum;
intfac;
intn;
intcounter;
printf("Pleaseentern:
");
scanf("%d",&n);
fac=1;
sum=0;
for(counter=1;counter<=n;counter++){
fac*=counter;
sum+=fac;
}
printf("Thesumis%d\n",sum);
system("PAUSE");
return0;
}
找能被7整除或含7的数
#include
#include
main()
{
inti;
for(i=10;i<100;i++){
if(i%7==0||i%10==7||i/10==7){
printf("%4d",i);
}
}
printf("\n");
system("PAUSE");
return0;
}
输入整数,构造逆序数
#include
#include
main()
{
longn;
longm;
intd;
printf("Pleaseenternumber:
");
scanf("%ld",&n);
m=0;
while(n!
=0){
d=n%10;
m=m*10+d;
n/=10;
}
printf("Thereverseis%ld\n",m);
system("PAUSE");
return0;
}
寻找完数
#include
#include
main()
{
intsum;
intcounter;
intn;
for(n=2;n<=10000;n++){
sum=0;
for(counter=1;counterif(n%counter==0){
sum+=counter;
}
}
if(sum==n){
printf("%disaperfectnumber\n",n);
}
}
system("PAUSE");
return0;
}
显示三角模式
#include
#include
#defineN5
main()
{
intr;
intc;
for(r=1;r<=N;r++){
for(c=N-r;c>=1;c--){
printf("");
}
for(c=1;c<=2*r-1;c++){
printf("*");
}
printf("\n");
}
system("PAUSE");
return0;
}
求平均值与标准差
#include
#include
#include
#defineLENGTH10
main()
{
doublearray[LENGTH];
doublesum;
doubleave;
doubledev;
inti;
for(i=0;iprintf("Pleaseenterarray[%d]:
",i);
scanf("%lf",&array[i]);
}
sum=0;
for(i=0;isum+=array[i];
}
ave=sum/LENGTH;
sum=0;
for(i=0;isum+=(array[i]-ave)*(array[i]-ave);
}
dev=sqrt(sum/LENGTH);
printf("Theaverageis%lf\n",ave);
printf("Thestandarddevis%lf\n",dev);
system("PAUSE");
return0;
}
体操比赛实际得分
#include
#include
#defineLENGTH7
main()
{
doublearray[LENGTH];
doublesum;
doubleaverage;
doublemax;
doublemin;
inti;
for(i=0;iprintf("Pleaseenterarray[%d]:
",i);
scanf("%lf",&array[i]);
}
max=array[0];
for(i=1;iif(array[i]>max){
max=array[i];
}
}
min=array[0];
for(i=1;iif(array[i]min=array[i];
}
}
sum=0;
for(i=0;isum+=array[i];
}
average=(sum-min-max)/(LENGTH-2);
printf("Thefinalis%lf\n",average);
system("PAUSE");
return0;
}
筛选法求素数
#include
#include
#defineLENGTH99
main()
{
intarray[LENGTH];
intcounter;
inti;
for(i=0;iarray[i]=i+2;
}
for(i=0;iif(array[i]!
=0){
for(counter=i+1;counterif(array[counter]%array[i]==0){
array[counter]=0;
}
}
}
}
for(i=0;iif(array[i]!
=0){
printf("%4d",array[i]);
}
}
printf("\n");
system("PAUSE");
return0;
}
杨晖三角
#include
#include
#defineN7
main()
{
intmatrix[N][N];
introw;
intcol;
for(row=0;rowmatrix[row][0]=1;
}
for(col=1;colmatrix[0][col]=0;
}
for(row=1;rowfor(col=1;colmatrix[row][col]=matrix[row-1][col]+matrix[row-1][col-1];
}
}
for(row=0;rowfor(col=0;colif(matrix[row][col]!
=0){
printf("%4d",matrix[row][col]);
}
}
printf("\n");
}
system("PAUSE");
return0;
}
九宫格
#include
#include
#defineN5
main()
{
intmatrix[N][N];
introw;
intcol;
intcounter;
row=0;
col=N/2;
for(counter=1;counter<=N*N;counter++){
matrix[row][col]=counter;
if(counter%N==0){
row=(row+1)%N;
}
else{
row=(row-1+N)%N;
col=(col+1)%N;
}
}
for(row=0;rowfor(col=0;colprintf("%4d",matrix[row][col]);
}
printf("\n");
}
system("PAUSE");
return0;
}
第五章第四题
#include
#include
intmain(intargc,char*argv[])
{
doubleFahToCel(double);
doublem;
doubleC;
printf("\npleaseenterthenumber:
");
scanf("%lf",&m);
C=FahToCel(m);
printf("\nThefahtocelis%lf",C);
system("PAUSE");
return0;
}
doubleFahToCel(doubleF)
{
doubleC;
C=5.00/9*(F-32);
return(C);
system("PAUSE");
return0;
}
第五题
#include
#include
intmain(intargc,char*argv[])
{
intHaveRealRoot(double,double,double);
doublea,b,c;
printf("\npleaseenternumber1:
",a);
scanf("%lf",&a);
printf("\npleaseenternumber2:
",b);
scanf("%lf",&b);
printf("\npleaseenternumber3:
",c);
scanf("%lf",&c);
intN;
N=HaveRealRoot(a,b,c);
printf("\nTheHaveRealRootis%d",N);
system("PAUSE");
return0;
}
intHaveRealRoot(doublea,doubleb,doublec)
{
doubleresult;
intN;
result=b*b-4*a*c;
if(result>=0){
N=2;
}
else{
N=0;
}
return(N);
system("PAUSE");
return0;
}
第七题
#include
#include
#include
intmain(intargc,char*argv[])
{
intIsPrime(int);
intc;
intcounter;
for(counter=2;counter<=200;counter++)
{
c=IsPrime(counter);
if(c==1)
{
printf("\nTheprimeis%d",counter);
}
}
system("PAUSE");
return0;
}
intIsPrime(intm)
{
inti;
intA;
for(i=2;i<=sqrt(m);i++)
{
if(m%i==0)
{break;}
}
if(i>sqrt(m))
{
A=1;
}
else
{
A=0;
}
return(A);
}
第十一题
#include
#include
#defineSTEP8
intmain(intargc,char*argv[])
{
doubleAverageArray(inta[],int);
inta[STEP];
intcounter;
doubleresult;
for(counter=0;counterprintf("\npleaseentera[%d]:
",counter);
scanf("%d",&a[counter]);
}
result=AverageArray(a,STEP);
printf("%lf",result);
system("PAUSE");
return0;
}
doubleAverageArray(inta[],intn){
intcounter;
doubleresult,sum;
sum=0;
for(counter=0;counter{
sum+=a[counter];
}
result=sum/n;
return(result);
}