计算机.docx
《计算机.docx》由会员分享,可在线阅读,更多相关《计算机.docx(19页珍藏版)》请在冰豆网上搜索。
计算机
1、打印杨辉三角形(要求打印10行);
#include
main()
{inti,j,feng[10][10]={0};
for(i=0;i<10;i++)
{feng[i][0]=1;}
for(i=1;i<10;i++)
{for(j=1;j<10;j++)
{
feng[i][j]=feng[i-1][j-1]+feng[i-1][j];
}
{for(j=0;j
printf("%5d",feng[i][j]);
printf("\n");
2、求二维数组中最大元素值(或最小元素值)及其行列号;
{intgqf[2][3]={{1,8,3},{4,5,6}};
inti,j,x=0,y=0,max=gqf[0][0];
for(i=0;i<2;i++)
{for(j=0;j<3;j++)
{if(max{max=gqf[i][j];x=i,y=j;}}}printf("最大值是:%5d,行列号分别为%5d,%5d\n",max,x,y);}3、将二维数组行列元素互换,存到另一个数组中;#includemain(){inta[2][3]={{1,2,3},{4,5,6}};intb[3][2],i,j;for(i=0;i<2;i++){for(j=0;j<3;j++){printf("%-4d",a[i][j]);b[j][i]=a[i][j];}printf("\n");}printf("\n");for(i=0;i<3;i++){for(j=0;j<2;j++){printf("%-4d",b[i][j]);}printf("\n");}}4、输入三个学生、五门课程的成绩,分别存放在3×6矩阵的前五列上,计算每个学生的平均成绩后,存放在该数组最后一列的对应行上。#includemain(){inti,j,sum;floatzcc[3][6];for(i=0;i<3;i++){printf("请输入第%d名同学的五门成绩",i+1);for(j=0;j<5;j++){scanf("%f",&zcc[i][j]);}}for(i=0;i<3;i++){sum=0;for(j=0;j<5;j++){sum+=zcc[i][j];}zcc[i][5]=sum*(1.0/5);}for(i=0;i<3;i++){for(j=0;j<6;j++){printf("%10f",zcc[i][j]);}printf("\n");}}5、对长度为7个的字符串,除首尾字符外,将其余5个字符按ASCII码升序排序。如:BdsinAD,排序结果:BAdinsD。(演示:用选择法或冒泡法)。#include#includemain(){charqing[8]={"BdsinAD"},feng[8];inti,j,k,guo;for(i=1;i<=4;i++){for(j=1;j<5;j++){if(qing[j]>qing[j+1]){guo=qing[j];qing[j]=qing[j+1];qing[j+1]=guo;}}}puts(qing);}6、把输入的字符串逆序排列,如输入ABCDE,输出为EDCBA。#include#includemain(){charguo[50],qing[50];inti,k;printf("请输入一个字符串:");gets(guo);k=strlen(guo);for(i=0;i{qing[i]=guo[k-i-1];}qing[k]=guo[k];puts(qing);}7、判断m是否素数?#includemain(){intm,n,i,k=0;printf("请输入一个数字:");scanf("%d",&m);for(i=1;i{if(i>1&&i{n=m%i;if(n!=0){k++;}}}if(k==m-2)printf("此数是素数\n");elseif(m==1)printf("此数是素数\n");elseprintf("此数不是素数\n");}8、选择法排序。#includevoidmain(){inta[5]={5,20,7,12,3};inti,j,k,guo,c,d,e;for(i=0;i<4;i++){d=i;for(k=i+1;k<=4;k++){if(a[k]{d=k;}}if(d!=i){guo=a[i];a[i]=a[d];a[d]=guo;}}for(e=0;e<5;e++){printf("a[%d]=%-5d",e,a[e]);}printf("\n");}9、冒泡法排序。#includemain(){inta[5]={1,7,12,20,16},i,j,guo;for(j=1;j<5;j++){for(i=0;i<4;i++){if(a[i]{guo=a[i];a[i]=a[i+1];a[i+1]=guo;}}}for(i=0;i<5;i++){printf("%d",a[i]);}}10、有一递推数列,满足f(0)=0,f(1)=1,f(2)=2,f(n)=f(n-1)+2f(n-2)f(n-3)(n>=3)。使用数列编写程序,顺序打出f(0)到f(10)的值。#includemain(){intf[11],i;f[0]=0;f[1]=1;f[2]=2;for(i=3;i<=10;i++){f[i]=f[i-1]+2*f[i-2]*f[i-3];}for(i=0;i<=10;i++){printf("%d,",f[i]);}printf("\n");}11、请用户输入一个含有12个浮点数的一维数组,分别计算数组中所有的正数和以及所有的负数和。#includemain(){floatf[12],a=0,b=0;inti;printf("请输入十二个浮点型的数:");for(i=0;i<=11;i++){scanf("%f,",&f[i]);}for(i=0;i<=11;i++){if(f[i]>0){a+=f[i];}else{b+=f[i];}}printf("正数和是:%f,负数和是:%f\n",a,b);}12、编程实现求数列…的所有大于等于0.000001的数据项之和,显示输出计算结果(运行结果:s=2.999999);#includemain(){inti=1;floatj,s=0;for(j=1.0/2;j>=0.000001;j=((2*i-1)/2.0)*((1.0/(2*(i-1)-1))*j)){s+=j;i++;}printf("s=%f\n",s);}13、.把100~150之间的不能被3整除的数输出#includemain(){inta,b;for(a=100;a<=150;a++){b=a%3;if(b!=0){printf("%5d",a);}}}14、计算公式t=1-1/2-1/3……-1/m的值。例如:若输入5,则应输出-0.283333;#includemain(){inti,j;floatf=1;printf("inputanumber:");scanf("%d",&i);for(j=2;j<=i;j++){f-=1.0/j;}printf("f=%f",f);}15、打印九九乘法表。#includemain(){inti,j;for(i=1;i<=9;i++){for(j=1;j<=i;j++){printf("%d*%d=%-5d",j,i,j*i);}printf("\n");}}16、编程实现1~500之间的满足条件的解。“除以3余1,除以5余2,除以7余3”。(中国剩余定理:“有物不知几何,三三数余一,五五数余二,七七数余三,问:物有几何?”)(运行结果:52、157、262、367、472);#includemain(){inta,b,c,d;for(a=1;a<=500;a++){b=a%3;c=a%5;d=a%7;if((b==1&&c==2)&&d==3){printf("%5d",a);}}printf("\n");}17、教材P62三、编程题3;(验证:如n=2,结果1.833333;如n=5,结果11.450000)#includemain(){intn,i=1;floatm=0;printf("请输入一个整数,n=");scanf("%d",&n);while(i<=n){m=m+(i*i)/(i+1.0);i++;}printf("所得结果是:%f\n",m);}18、编写程序求出满足不等式1+2+3+…+n<500的最大n值及总和;(运行结果:n=31,sum=496)#includemain(){intn=1,m=0;while(m<500){m+=n;n++;}printf("n=%d,sum=%d\n",n-2,m-n+1);}19、编写程序,求1-3+5-7+9……-99+101的值;(运行结果:51.000000)#includemain(){inta=0,b=0,c=0,d=0;floatm=0;while((a<=25)&&(b<=25)){m+=c-d;a++;b++;c=2*(2*a-1)-1;d=2*(2*b)-1;}printf("m=%f",m+c);}20、求的值。(请分别用while、dowhile和for语句来实现,运行结果:47976.00)21、输入一个字符,判别它是否大写字母,如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符。#includemain(){charm;scanf("%c",&m);if(m>='A'&&m<='Z'){m=m+32;printf("%c\n",m);}else{printf("%c\n",m);}}22、给出百分制成绩,要求输出成绩等级A、B、C、D、E。90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。#includemain(){intmark;printf("inputthemarkofastudent(0");scanf("%d",&mark);mark=mark/10;if(mark==9)printf("A\n");elseif(mark==8)printf("B\n");elseif(mark==7)printf("C\n");elseif(mark==6)printf("D\n");elseprintf("E\n");}23、模仿P45【例3-4】写程序,输入x,输出y值;3*x+5(x>0)y=0(x=0)3*x-5(x<0)#includemain(){floatx;printf("inputx=");scanf("%f",&x);if(x>0)printf("y=%f\n",(3*x+5));elseif(x==0)printf("y=0\n");elseprintf("y=%f\n",(3*x-5));}24、由键盘输入三个整数分别赋给变量a、b、c,编写程序输出其中绝对值最大(或最小)的数;fabs(a)#include#include#includeintxmin(intx,inty,intz){intm;if(x>y){if(z>x)m=z;elsem=x;}else{if(z>y)m=z;elsem=y;}return(m);}main(){inta,b,c,d,e,f,g;printf("请输入三个整数\n");scanf("%d,%d,%d",&a,&b,&c);d=fabs(a);e=fabs(b);f=fabs(c);g=xmin(d,e,f);printf("%d\n",g);}25、编写程序输入三个整数,要求按由小到大(或由大到小)顺序输出;#includemain(){inta,b,c;printf("请输入三个整数\n");scanf("%d,%d,%d",&a,&b,&c);if(a>b){if(c>a)printf("%d>%d>%d\n",c,a,b);else{if(c>b)printf("%d>%d>%d\n",a,c,b);elseprintf("%d>%d>%d\n",a,b,c);}}else{if(c>b)printf("%d>%d>%d\n",c,b,a);else{if(c>a)printf("%d>%d>%d\n",b,c,a);elseprintf("%d>%d>%d\n",b,a,c);}}}26、练习、读懂第三章P44【例3-3】、P45【例3-4】、P46【例3-5】、P48【例3-6】;27、编程实现从键盘给变量a,b分别输入整数,要求每个变量只能接受两位数,例如:32和46,求两数的乘积并显示出32*46=1472。输出时要求a,b占字符宽度3位,乘积占用5位显示。#includemain(){inta,b,c;printf("请输入两个二位整数\n");scanf("%2d,%2d",&a,&b);c=a*b;printf("%3d,%3d,%5d\n",a,b,c);}28、编程实现用getchar函数从键盘得到一个字符,并用putchar函数输出这个字符(参考教材P32【例2-2】、【例2-3】)。#includemain(){inta;printf("qingshuruyigezifu\n");a=getchar();putchar(a);printf("\n");}29、设计一个程序,输入正五边形的边长的长度a,按公式计算该五边形外接圆的半径,结果保留两位小数。(验证:如a=1时,R=0.85;a=2时,R=0.43)#include#includemain(){floata,R;scanf("%f",&a);R=1/(2*a)*sqrt((10+2*sqrt(5))/5);printf("半径=%4.2f\n",R);}30、设计一程序,输入空间中两点的坐标x1,y1,z1和x2,y2,z2,计算两点之间的距离。#include#includemain(){floatx1,x2,y1,y2,z1,z2,L;printf("请输入六个数\n");scanf("%f,%f,%f,%f,%f,%f",&x1,&x2,&y1,&y2,&z1,&z2);L=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)+(z2-z1)*(z2-z1));printf("L=%f\n",L);}31、鸡兔同笼问题。已知鸡、兔总头数为h,总脚数为f,求鸡兔各多少只?(验证:如h=12,f=40,则cock=4,rabbit=8;如h=16,f=40,则cock=12,rabbit=4)#include#includemain(){inth,f,a,b;printf("请输入两个数:\n");scanf("%d,%d",&h,&f);a=(4*h-f)/2;b=(f-2*h)/2;printf("cock=%d,rabbit=%d\n",a,b);}
{max=gqf[i][j];
x=i,y=j;
printf("最大值是:
%5d,行列号分别为%5d,%5d\n",max,x,y);
3、将二维数组行列元素互换,存到另一个数组中;
inta[2][3]={{1,2,3},{4,5,6}};
intb[3][2],i,j;
{printf("%-4d",a[i][j]);
b[j][i]=a[i][j];
for(i=0;i<3;i++)
{for(j=0;j<2;j++)
{printf("%-4d",b[i][j]);}
4、输入三个学生、五门课程的成绩,分别存放在3×6矩阵的前五列上,计算每个学生的平均成绩后,存放在该数组最后一列的对应行上。
{inti,j,sum;
floatzcc[3][6];
printf("请输入第%d名同学的五门成绩",i+1);
for(j=0;j<5;j++)
scanf("%f",&zcc[i][j]);
sum=0;
sum+=zcc[i][j];
zcc[i][5]=sum*(1.0/5);
for(j=0;j<6;j++)
printf("%10f",zcc[i][j]);
5、对长度为7个的字符串,除首尾字符外,将其余5个字符按ASCII码升序排序。
如:
BdsinAD,排序结果:
BAdinsD。
(演示:
用选择法或冒泡法)。
{charqing[8]={"BdsinAD"},feng[8];
inti,j,k,guo;
for(i=1;i<=4;i++)
for(j=1;j<5;j++)
if(qing[j]>qing[j+1])
guo=qing[j];
qing[j]=qing[j+1];
qing[j+1]=guo;
puts(qing);
6、把输入的字符串逆序排列,如输入ABCDE,输出为EDCBA。
{charguo[50],qing[50];
inti,k;
printf("请输入一个字符串:
");
gets(guo);
k=strlen(guo);
for(i=0;i{qing[i]=guo[k-i-1];}qing[k]=guo[k];puts(qing);}7、判断m是否素数?#includemain(){intm,n,i,k=0;printf("请输入一个数字:");scanf("%d",&m);for(i=1;i{if(i>1&&i{n=m%i;if(n!=0){k++;}}}if(k==m-2)printf("此数是素数\n");elseif(m==1)printf("此数是素数\n");elseprintf("此数不是素数\n");}8、选择法排序。#includevoidmain(){inta[5]={5,20,7,12,3};inti,j,k,guo,c,d,e;for(i=0;i<4;i++){d=i;for(k=i+1;k<=4;k++){if(a[k]{d=k;}}if(d!=i){guo=a[i];a[i]=a[d];a[d]=guo;}}for(e=0;e<5;e++){printf("a[%d]=%-5d",e,a[e]);}printf("\n");}9、冒泡法排序。#includemain(){inta[5]={1,7,12,20,16},i,j,guo;for(j=1;j<5;j++){for(i=0;i<4;i++){if(a[i]{guo=a[i];a[i]=a[i+1];a[i+1]=guo;}}}for(i=0;i<5;i++){printf("%d",a[i]);}}10、有一递推数列,满足f(0)=0,f(1)=1,f(2)=2,f(n)=f(n-1)+2f(n-2)f(n-3)(n>=3)。使用数列编写程序,顺序打出f(0)到f(10)的值。#includemain(){intf[11],i;f[0]=0;f[1]=1;f[2]=2;for(i=3;i<=10;i++){f[i]=f[i-1]+2*f[i-2]*f[i-3];}for(i=0;i<=10;i++){printf("%d,",f[i]);}printf("\n");}11、请用户输入一个含有12个浮点数的一维数组,分别计算数组中所有的正数和以及所有的负数和。#includemain(){floatf[12],a=0,b=0;inti;printf("请输入十二个浮点型的数:");for(i=0;i<=11;i++){scanf("%f,",&f[i]);}for(i=0;i<=11;i++){if(f[i]>0){a+=f[i];}else{b+=f[i];}}printf("正数和是:%f,负数和是:%f\n",a,b);}12、编程实现求数列…的所有大于等于0.000001的数据项之和,显示输出计算结果(运行结果:s=2.999999);#includemain(){inti=1;floatj,s=0;for(j=1.0/2;j>=0.000001;j=((2*i-1)/2.0)*((1.0/(2*(i-1)-1))*j)){s+=j;i++;}printf("s=%f\n",s);}13、.把100~150之间的不能被3整除的数输出#includemain(){inta,b;for(a=100;a<=150;a++){b=a%3;if(b!=0){printf("%5d",a);}}}14、计算公式t=1-1/2-1/3……-1/m的值。例如:若输入5,则应输出-0.283333;#includemain(){inti,j;floatf=1;printf("inputanumber:");scanf("%d",&i);for(j=2;j<=i;j++){f-=1.0/j;}printf("f=%f",f);}15、打印九九乘法表。#includemain(){inti,j;for(i=1;i<=9;i++){for(j=1;j<=i;j++){printf("%d*%d=%-5d",j,i,j*i);}printf("\n");}}16、编程实现1~500之间的满足条件的解。“除以3余1,除以5余2,除以7余3”。(中国剩余定理:“有物不知几何,三三数余一,五五数余二,七七数余三,问:物有几何?”)(运行结果:52、157、262、367、472);#includemain(){inta,b,c,d;for(a=1;a<=500;a++){b=a%3;c=a%5;d=a%7;if((b==1&&c==2)&&d==3){printf("%5d",a);}}printf("\n");}17、教材P62三、编程题3;(验证:如n=2,结果1.833333;如n=5,结果11.450000)#includemain(){intn,i=1;floatm=0;printf("请输入一个整数,n=");scanf("%d",&n);while(i<=n){m=m+(i*i)/(i+1.0);i++;}printf("所得结果是:%f\n",m);}18、编写程序求出满足不等式1+2+3+…+n<500的最大n值及总和;(运行结果:n=31,sum=496)#includemain(){intn=1,m=0;while(m<500){m+=n;n++;}printf("n=%d,sum=%d\n",n-2,m-n+1);}19、编写程序,求1-3+5-7+9……-99+101的值;(运行结果:51.000000)#includemain(){inta=0,b=0,c=0,d=0;floatm=0;while((a<=25)&&(b<=25)){m+=c-d;a++;b++;c=2*(2*a-1)-1;d=2*(2*b)-1;}printf("m=%f",m+c);}20、求的值。(请分别用while、dowhile和for语句来实现,运行结果:47976.00)21、输入一个字符,判别它是否大写字母,如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符。#includemain(){charm;scanf("%c",&m);if(m>='A'&&m<='Z'){m=m+32;printf("%c\n",m);}else{printf("%c\n",m);}}22、给出百分制成绩,要求输出成绩等级A、B、C、D、E。90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。#includemain(){intmark;printf("inputthemarkofastudent(0");scanf("%d",&mark);mark=mark/10;if(mark==9)printf("A\n");elseif(mark==8)printf("B\n");elseif(mark==7)printf("C\n");elseif(mark==6)printf("D\n");elseprintf("E\n");}23、模仿P45【例3-4】写程序,输入x,输出y值;3*x+5(x>0)y=0(x=0)3*x-5(x<0)#includemain(){floatx;printf("inputx=");scanf("%f",&x);if(x>0)printf("y=%f\n",(3*x+5));elseif(x==0)printf("y=0\n");elseprintf("y=%f\n",(3*x-5));}24、由键盘输入三个整数分别赋给变量a、b、c,编写程序输出其中绝对值最大(或最小)的数;fabs(a)#include#include#includeintxmin(intx,inty,intz){intm;if(x>y){if(z>x)m=z;elsem=x;}else{if(z>y)m=z;elsem=y;}return(m);}main(){inta,b,c,d,e,f,g;printf("请输入三个整数\n");scanf("%d,%d,%d",&a,&b,&c);d=fabs(a);e=fabs(b);f=fabs(c);g=xmin(d,e,f);printf("%d\n",g);}25、编写程序输入三个整数,要求按由小到大(或由大到小)顺序输出;#includemain(){inta,b,c;printf("请输入三个整数\n");scanf("%d,%d,%d",&a,&b,&c);if(a>b){if(c>a)printf("%d>%d>%d\n",c,a,b);else{if(c>b)printf("%d>%d>%d\n",a,c,b);elseprintf("%d>%d>%d\n",a,b,c);}}else{if(c>b)printf("%d>%d>%d\n",c,b,a);else{if(c>a)printf("%d>%d>%d\n",b,c,a);elseprintf("%d>%d>%d\n",b,a,c);}}}26、练习、读懂第三章P44【例3-3】、P45【例3-4】、P46【例3-5】、P48【例3-6】;27、编程实现从键盘给变量a,b分别输入整数,要求每个变量只能接受两位数,例如:32和46,求两数的乘积并显示出32*46=1472。输出时要求a,b占字符宽度3位,乘积占用5位显示。#includemain(){inta,b,c;printf("请输入两个二位整数\n");scanf("%2d,%2d",&a,&b);c=a*b;printf("%3d,%3d,%5d\n",a,b,c);}28、编程实现用getchar函数从键盘得到一个字符,并用putchar函数输出这个字符(参考教材P32【例2-2】、【例2-3】)。#includemain(){inta;printf("qingshuruyigezifu\n");a=getchar();putchar(a);printf("\n");}29、设计一个程序,输入正五边形的边长的长度a,按公式计算该五边形外接圆的半径,结果保留两位小数。(验证:如a=1时,R=0.85;a=2时,R=0.43)#include#includemain(){floata,R;scanf("%f",&a);R=1/(2*a)*sqrt((10+2*sqrt(5))/5);printf("半径=%4.2f\n",R);}30、设计一程序,输入空间中两点的坐标x1,y1,z1和x2,y2,z2,计算两点之间的距离。#include#includemain(){floatx1,x2,y1,y2,z1,z2,L;printf("请输入六个数\n");scanf("%f,%f,%f,%f,%f,%f",&x1,&x2,&y1,&y2,&z1,&z2);L=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)+(z2-z1)*(z2-z1));printf("L=%f\n",L);}31、鸡兔同笼问题。已知鸡、兔总头数为h,总脚数为f,求鸡兔各多少只?(验证:如h=12,f=40,则cock=4,rabbit=8;如h=16,f=40,则cock=12,rabbit=4)#include#includemain(){inth,f,a,b;printf("请输入两个数:\n");scanf("%d,%d",&h,&f);a=(4*h-f)/2;b=(f-2*h)/2;printf("cock=%d,rabbit=%d\n",a,b);}
{qing[i]=guo[k-i-1];}
qing[k]=guo[k];
7、判断m是否素数?
{intm,n,i,k=0;
printf("请输入一个数字:
scanf("%d",&m);
for(i=1;i{if(i>1&&i{n=m%i;if(n!=0){k++;}}}if(k==m-2)printf("此数是素数\n");elseif(m==1)printf("此数是素数\n");elseprintf("此数不是素数\n");}8、选择法排序。#includevoidmain(){inta[5]={5,20,7,12,3};inti,j,k,guo,c,d,e;for(i=0;i<4;i++){d=i;for(k=i+1;k<=4;k++){if(a[k]{d=k;}}if(d!=i){guo=a[i];a[i]=a[d];a[d]=guo;}}for(e=0;e<5;e++){printf("a[%d]=%-5d",e,a[e]);}printf("\n");}9、冒泡法排序。#includemain(){inta[5]={1,7,12,20,16},i,j,guo;for(j=1;j<5;j++){for(i=0;i<4;i++){if(a[i]{guo=a[i];a[i]=a[i+1];a[i+1]=guo;}}}for(i=0;i<5;i++){printf("%d",a[i]);}}10、有一递推数列,满足f(0)=0,f(1)=1,f(2)=2,f(n)=f(n-1)+2f(n-2)f(n-3)(n>=3)。使用数列编写程序,顺序打出f(0)到f(10)的值。#includemain(){intf[11],i;f[0]=0;f[1]=1;f[2]=2;for(i=3;i<=10;i++){f[i]=f[i-1]+2*f[i-2]*f[i-3];}for(i=0;i<=10;i++){printf("%d,",f[i]);}printf("\n");}11、请用户输入一个含有12个浮点数的一维数组,分别计算数组中所有的正数和以及所有的负数和。#includemain(){floatf[12],a=0,b=0;inti;printf("请输入十二个浮点型的数:");for(i=0;i<=11;i++){scanf("%f,",&f[i]);}for(i=0;i<=11;i++){if(f[i]>0){a+=f[i];}else{b+=f[i];}}printf("正数和是:%f,负数和是:%f\n",a,b);}12、编程实现求数列…的所有大于等于0.000001的数据项之和,显示输出计算结果(运行结果:s=2.999999);#includemain(){inti=1;floatj,s=0;for(j=1.0/2;j>=0.000001;j=((2*i-1)/2.0)*((1.0/(2*(i-1)-1))*j)){s+=j;i++;}printf("s=%f\n",s);}13、.把100~150之间的不能被3整除的数输出#includemain(){inta,b;for(a=100;a<=150;a++){b=a%3;if(b!=0){printf("%5d",a);}}}14、计算公式t=1-1/2-1/3……-1/m的值。例如:若输入5,则应输出-0.283333;#includemain(){inti,j;floatf=1;printf("inputanumber:");scanf("%d",&i);for(j=2;j<=i;j++){f-=1.0/j;}printf("f=%f",f);}15、打印九九乘法表。#includemain(){inti,j;for(i=1;i<=9;i++){for(j=1;j<=i;j++){printf("%d*%d=%-5d",j,i,j*i);}printf("\n");}}16、编程实现1~500之间的满足条件的解。“除以3余1,除以5余2,除以7余3”。(中国剩余定理:“有物不知几何,三三数余一,五五数余二,七七数余三,问:物有几何?”)(运行结果:52、157、262、367、472);#includemain(){inta,b,c,d;for(a=1;a<=500;a++){b=a%3;c=a%5;d=a%7;if((b==1&&c==2)&&d==3){printf("%5d",a);}}printf("\n");}17、教材P62三、编程题3;(验证:如n=2,结果1.833333;如n=5,结果11.450000)#includemain(){intn,i=1;floatm=0;printf("请输入一个整数,n=");scanf("%d",&n);while(i<=n){m=m+(i*i)/(i+1.0);i++;}printf("所得结果是:%f\n",m);}18、编写程序求出满足不等式1+2+3+…+n<500的最大n值及总和;(运行结果:n=31,sum=496)#includemain(){intn=1,m=0;while(m<500){m+=n;n++;}printf("n=%d,sum=%d\n",n-2,m-n+1);}19、编写程序,求1-3+5-7+9……-99+101的值;(运行结果:51.000000)#includemain(){inta=0,b=0,c=0,d=0;floatm=0;while((a<=25)&&(b<=25)){m+=c-d;a++;b++;c=2*(2*a-1)-1;d=2*(2*b)-1;}printf("m=%f",m+c);}20、求的值。(请分别用while、dowhile和for语句来实现,运行结果:47976.00)21、输入一个字符,判别它是否大写字母,如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符。#includemain(){charm;scanf("%c",&m);if(m>='A'&&m<='Z'){m=m+32;printf("%c\n",m);}else{printf("%c\n",m);}}22、给出百分制成绩,要求输出成绩等级A、B、C、D、E。90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。#includemain(){intmark;printf("inputthemarkofastudent(0");scanf("%d",&mark);mark=mark/10;if(mark==9)printf("A\n");elseif(mark==8)printf("B\n");elseif(mark==7)printf("C\n");elseif(mark==6)printf("D\n");elseprintf("E\n");}23、模仿P45【例3-4】写程序,输入x,输出y值;3*x+5(x>0)y=0(x=0)3*x-5(x<0)#includemain(){floatx;printf("inputx=");scanf("%f",&x);if(x>0)printf("y=%f\n",(3*x+5));elseif(x==0)printf("y=0\n");elseprintf("y=%f\n",(3*x-5));}24、由键盘输入三个整数分别赋给变量a、b、c,编写程序输出其中绝对值最大(或最小)的数;fabs(a)#include#include#includeintxmin(intx,inty,intz){intm;if(x>y){if(z>x)m=z;elsem=x;}else{if(z>y)m=z;elsem=y;}return(m);}main(){inta,b,c,d,e,f,g;printf("请输入三个整数\n");scanf("%d,%d,%d",&a,&b,&c);d=fabs(a);e=fabs(b);f=fabs(c);g=xmin(d,e,f);printf("%d\n",g);}25、编写程序输入三个整数,要求按由小到大(或由大到小)顺序输出;#includemain(){inta,b,c;printf("请输入三个整数\n");scanf("%d,%d,%d",&a,&b,&c);if(a>b){if(c>a)printf("%d>%d>%d\n",c,a,b);else{if(c>b)printf("%d>%d>%d\n",a,c,b);elseprintf("%d>%d>%d\n",a,b,c);}}else{if(c>b)printf("%d>%d>%d\n",c,b,a);else{if(c>a)printf("%d>%d>%d\n",b,c,a);elseprintf("%d>%d>%d\n",b,a,c);}}}26、练习、读懂第三章P44【例3-3】、P45【例3-4】、P46【例3-5】、P48【例3-6】;27、编程实现从键盘给变量a,b分别输入整数,要求每个变量只能接受两位数,例如:32和46,求两数的乘积并显示出32*46=1472。输出时要求a,b占字符宽度3位,乘积占用5位显示。#includemain(){inta,b,c;printf("请输入两个二位整数\n");scanf("%2d,%2d",&a,&b);c=a*b;printf("%3d,%3d,%5d\n",a,b,c);}28、编程实现用getchar函数从键盘得到一个字符,并用putchar函数输出这个字符(参考教材P32【例2-2】、【例2-3】)。#includemain(){inta;printf("qingshuruyigezifu\n");a=getchar();putchar(a);printf("\n");}29、设计一个程序,输入正五边形的边长的长度a,按公式计算该五边形外接圆的半径,结果保留两位小数。(验证:如a=1时,R=0.85;a=2时,R=0.43)#include#includemain(){floata,R;scanf("%f",&a);R=1/(2*a)*sqrt((10+2*sqrt(5))/5);printf("半径=%4.2f\n",R);}30、设计一程序,输入空间中两点的坐标x1,y1,z1和x2,y2,z2,计算两点之间的距离。#include#includemain(){floatx1,x2,y1,y2,z1,z2,L;printf("请输入六个数\n");scanf("%f,%f,%f,%f,%f,%f",&x1,&x2,&y1,&y2,&z1,&z2);L=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)+(z2-z1)*(z2-z1));printf("L=%f\n",L);}31、鸡兔同笼问题。已知鸡、兔总头数为h,总脚数为f,求鸡兔各多少只?(验证:如h=12,f=40,则cock=4,rabbit=8;如h=16,f=40,则cock=12,rabbit=4)#include#includemain(){inth,f,a,b;printf("请输入两个数:\n");scanf("%d,%d",&h,&f);a=(4*h-f)/2;b=(f-2*h)/2;printf("cock=%d,rabbit=%d\n",a,b);}
if(i>1&&i{n=m%i;if(n!=0){k++;}}}if(k==m-2)printf("此数是素数\n");elseif(m==1)printf("此数是素数\n");elseprintf("此数不是素数\n");}8、选择法排序。#includevoidmain(){inta[5]={5,20,7,12,3};inti,j,k,guo,c,d,e;for(i=0;i<4;i++){d=i;for(k=i+1;k<=4;k++){if(a[k]{d=k;}}if(d!=i){guo=a[i];a[i]=a[d];a[d]=guo;}}for(e=0;e<5;e++){printf("a[%d]=%-5d",e,a[e]);}printf("\n");}9、冒泡法排序。#includemain(){inta[5]={1,7,12,20,16},i,j,guo;for(j=1;j<5;j++){for(i=0;i<4;i++){if(a[i]{guo=a[i];a[i]=a[i+1];a[i+1]=guo;}}}for(i=0;i<5;i++){printf("%d",a[i]);}}10、有一递推数列,满足f(0)=0,f(1)=1,f(2)=2,f(n)=f(n-1)+2f(n-2)f(n-3)(n>=3)。使用数列编写程序,顺序打出f(0)到f(10)的值。#includemain(){intf[11],i;f[0]=0;f[1]=1;f[2]=2;for(i=3;i<=10;i++){f[i]=f[i-1]+2*f[i-2]*f[i-3];}for(i=0;i<=10;i++){printf("%d,",f[i]);}printf("\n");}11、请用户输入一个含有12个浮点数的一维数组,分别计算数组中所有的正数和以及所有的负数和。#includemain(){floatf[12],a=0,b=0;inti;printf("请输入十二个浮点型的数:");for(i=0;i<=11;i++){scanf("%f,",&f[i]);}for(i=0;i<=11;i++){if(f[i]>0){a+=f[i];}else{b+=f[i];}}printf("正数和是:%f,负数和是:%f\n",a,b);}12、编程实现求数列…的所有大于等于0.000001的数据项之和,显示输出计算结果(运行结果:s=2.999999);#includemain(){inti=1;floatj,s=0;for(j=1.0/2;j>=0.000001;j=((2*i-1)/2.0)*((1.0/(2*(i-1)-1))*j)){s+=j;i++;}printf("s=%f\n",s);}13、.把100~150之间的不能被3整除的数输出#includemain(){inta,b;for(a=100;a<=150;a++){b=a%3;if(b!=0){printf("%5d",a);}}}14、计算公式t=1-1/2-1/3……-1/m的值。例如:若输入5,则应输出-0.283333;#includemain(){inti,j;floatf=1;printf("inputanumber:");scanf("%d",&i);for(j=2;j<=i;j++){f-=1.0/j;}printf("f=%f",f);}15、打印九九乘法表。#includemain(){inti,j;for(i=1;i<=9;i++){for(j=1;j<=i;j++){printf("%d*%d=%-5d",j,i,j*i);}printf("\n");}}16、编程实现1~500之间的满足条件的解。“除以3余1,除以5余2,除以7余3”。(中国剩余定理:“有物不知几何,三三数余一,五五数余二,七七数余三,问:物有几何?”)(运行结果:52、157、262、367、472);#includemain(){inta,b,c,d;for(a=1;a<=500;a++){b=a%3;c=a%5;d=a%7;if((b==1&&c==2)&&d==3){printf("%5d",a);}}printf("\n");}17、教材P62三、编程题3;(验证:如n=2,结果1.833333;如n=5,结果11.450000)#includemain(){intn,i=1;floatm=0;printf("请输入一个整数,n=");scanf("%d",&n);while(i<=n){m=m+(i*i)/(i+1.0);i++;}printf("所得结果是:%f\n",m);}18、编写程序求出满足不等式1+2+3+…+n<500的最大n值及总和;(运行结果:n=31,sum=496)#includemain(){intn=1,m=0;while(m<500){m+=n;n++;}printf("n=%d,sum=%d\n",n-2,m-n+1);}19、编写程序,求1-3+5-7+9……-99+101的值;(运行结果:51.000000)#includemain(){inta=0,b=0,c=0,d=0;floatm=0;while((a<=25)&&(b<=25)){m+=c-d;a++;b++;c=2*(2*a-1)-1;d=2*(2*b)-1;}printf("m=%f",m+c);}20、求的值。(请分别用while、dowhile和for语句来实现,运行结果:47976.00)21、输入一个字符,判别它是否大写字母,如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符。#includemain(){charm;scanf("%c",&m);if(m>='A'&&m<='Z'){m=m+32;printf("%c\n",m);}else{printf("%c\n",m);}}22、给出百分制成绩,要求输出成绩等级A、B、C、D、E。90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。#includemain(){intmark;printf("inputthemarkofastudent(0");scanf("%d",&mark);mark=mark/10;if(mark==9)printf("A\n");elseif(mark==8)printf("B\n");elseif(mark==7)printf("C\n");elseif(mark==6)printf("D\n");elseprintf("E\n");}23、模仿P45【例3-4】写程序,输入x,输出y值;3*x+5(x>0)y=0(x=0)3*x-5(x<0)#includemain(){floatx;printf("inputx=");scanf("%f",&x);if(x>0)printf("y=%f\n",(3*x+5));elseif(x==0)printf("y=0\n");elseprintf("y=%f\n",(3*x-5));}24、由键盘输入三个整数分别赋给变量a、b、c,编写程序输出其中绝对值最大(或最小)的数;fabs(a)#include#include#includeintxmin(intx,inty,intz){intm;if(x>y){if(z>x)m=z;elsem=x;}else{if(z>y)m=z;elsem=y;}return(m);}main(){inta,b,c,d,e,f,g;printf("请输入三个整数\n");scanf("%d,%d,%d",&a,&b,&c);d=fabs(a);e=fabs(b);f=fabs(c);g=xmin(d,e,f);printf("%d\n",g);}25、编写程序输入三个整数,要求按由小到大(或由大到小)顺序输出;#includemain(){inta,b,c;printf("请输入三个整数\n");scanf("%d,%d,%d",&a,&b,&c);if(a>b){if(c>a)printf("%d>%d>%d\n",c,a,b);else{if(c>b)printf("%d>%d>%d\n",a,c,b);elseprintf("%d>%d>%d\n",a,b,c);}}else{if(c>b)printf("%d>%d>%d\n",c,b,a);else{if(c>a)printf("%d>%d>%d\n",b,c,a);elseprintf("%d>%d>%d\n",b,a,c);}}}26、练习、读懂第三章P44【例3-3】、P45【例3-4】、P46【例3-5】、P48【例3-6】;27、编程实现从键盘给变量a,b分别输入整数,要求每个变量只能接受两位数,例如:32和46,求两数的乘积并显示出32*46=1472。输出时要求a,b占字符宽度3位,乘积占用5位显示。#includemain(){inta,b,c;printf("请输入两个二位整数\n");scanf("%2d,%2d",&a,&b);c=a*b;printf("%3d,%3d,%5d\n",a,b,c);}28、编程实现用getchar函数从键盘得到一个字符,并用putchar函数输出这个字符(参考教材P32【例2-2】、【例2-3】)。#includemain(){inta;printf("qingshuruyigezifu\n");a=getchar();putchar(a);printf("\n");}29、设计一个程序,输入正五边形的边长的长度a,按公式计算该五边形外接圆的半径,结果保留两位小数。(验证:如a=1时,R=0.85;a=2时,R=0.43)#include#includemain(){floata,R;scanf("%f",&a);R=1/(2*a)*sqrt((10+2*sqrt(5))/5);printf("半径=%4.2f\n",R);}30、设计一程序,输入空间中两点的坐标x1,y1,z1和x2,y2,z2,计算两点之间的距离。#include#includemain(){floatx1,x2,y1,y2,z1,z2,L;printf("请输入六个数\n");scanf("%f,%f,%f,%f,%f,%f",&x1,&x2,&y1,&y2,&z1,&z2);L=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)+(z2-z1)*(z2-z1));printf("L=%f\n",L);}31、鸡兔同笼问题。已知鸡、兔总头数为h,总脚数为f,求鸡兔各多少只?(验证:如h=12,f=40,则cock=4,rabbit=8;如h=16,f=40,则cock=12,rabbit=4)#include#includemain(){inth,f,a,b;printf("请输入两个数:\n");scanf("%d,%d",&h,&f);a=(4*h-f)/2;b=(f-2*h)/2;printf("cock=%d,rabbit=%d\n",a,b);}
{n=m%i;
if(n!
=0)
{k++;}
if(k==m-2)
printf("此数是素数\n");
elseif(m==1)
else
printf("此数不是素数\n");
8、选择法排序。
voidmain()
{inta[5]={5,20,7,12,3};
inti,j,k,guo,c,d,e;
for(i=0;i<4;i++)
d=i;
for(k=i+1;k<=4;k++)
{if(a[k]{d=k;}}if(d!=i){guo=a[i];a[i]=a[d];a[d]=guo;}}for(e=0;e<5;e++){printf("a[%d]=%-5d",e,a[e]);}printf("\n");}9、冒泡法排序。#includemain(){inta[5]={1,7,12,20,16},i,j,guo;for(j=1;j<5;j++){for(i=0;i<4;i++){if(a[i]{guo=a[i];a[i]=a[i+1];a[i+1]=guo;}}}for(i=0;i<5;i++){printf("%d",a[i]);}}10、有一递推数列,满足f(0)=0,f(1)=1,f(2)=2,f(n)=f(n-1)+2f(n-2)f(n-3)(n>=3)。使用数列编写程序,顺序打出f(0)到f(10)的值。#includemain(){intf[11],i;f[0]=0;f[1]=1;f[2]=2;for(i=3;i<=10;i++){f[i]=f[i-1]+2*f[i-2]*f[i-3];}for(i=0;i<=10;i++){printf("%d,",f[i]);}printf("\n");}11、请用户输入一个含有12个浮点数的一维数组,分别计算数组中所有的正数和以及所有的负数和。#includemain(){floatf[12],a=0,b=0;inti;printf("请输入十二个浮点型的数:");for(i=0;i<=11;i++){scanf("%f,",&f[i]);}for(i=0;i<=11;i++){if(f[i]>0){a+=f[i];}else{b+=f[i];}}printf("正数和是:%f,负数和是:%f\n",a,b);}12、编程实现求数列…的所有大于等于0.000001的数据项之和,显示输出计算结果(运行结果:s=2.999999);#includemain(){inti=1;floatj,s=0;for(j=1.0/2;j>=0.000001;j=((2*i-1)/2.0)*((1.0/(2*(i-1)-1))*j)){s+=j;i++;}printf("s=%f\n",s);}13、.把100~150之间的不能被3整除的数输出#includemain(){inta,b;for(a=100;a<=150;a++){b=a%3;if(b!=0){printf("%5d",a);}}}14、计算公式t=1-1/2-1/3……-1/m的值。例如:若输入5,则应输出-0.283333;#includemain(){inti,j;floatf=1;printf("inputanumber:");scanf("%d",&i);for(j=2;j<=i;j++){f-=1.0/j;}printf("f=%f",f);}15、打印九九乘法表。#includemain(){inti,j;for(i=1;i<=9;i++){for(j=1;j<=i;j++){printf("%d*%d=%-5d",j,i,j*i);}printf("\n");}}16、编程实现1~500之间的满足条件的解。“除以3余1,除以5余2,除以7余3”。(中国剩余定理:“有物不知几何,三三数余一,五五数余二,七七数余三,问:物有几何?”)(运行结果:52、157、262、367、472);#includemain(){inta,b,c,d;for(a=1;a<=500;a++){b=a%3;c=a%5;d=a%7;if((b==1&&c==2)&&d==3){printf("%5d",a);}}printf("\n");}17、教材P62三、编程题3;(验证:如n=2,结果1.833333;如n=5,结果11.450000)#includemain(){intn,i=1;floatm=0;printf("请输入一个整数,n=");scanf("%d",&n);while(i<=n){m=m+(i*i)/(i+1.0);i++;}printf("所得结果是:%f\n",m);}18、编写程序求出满足不等式1+2+3+…+n<500的最大n值及总和;(运行结果:n=31,sum=496)#includemain(){intn=1,m=0;while(m<500){m+=n;n++;}printf("n=%d,sum=%d\n",n-2,m-n+1);}19、编写程序,求1-3+5-7+9……-99+101的值;(运行结果:51.000000)#includemain(){inta=0,b=0,c=0,d=0;floatm=0;while((a<=25)&&(b<=25)){m+=c-d;a++;b++;c=2*(2*a-1)-1;d=2*(2*b)-1;}printf("m=%f",m+c);}20、求的值。(请分别用while、dowhile和for语句来实现,运行结果:47976.00)21、输入一个字符,判别它是否大写字母,如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符。#includemain(){charm;scanf("%c",&m);if(m>='A'&&m<='Z'){m=m+32;printf("%c\n",m);}else{printf("%c\n",m);}}22、给出百分制成绩,要求输出成绩等级A、B、C、D、E。90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。#includemain(){intmark;printf("inputthemarkofastudent(0");scanf("%d",&mark);mark=mark/10;if(mark==9)printf("A\n");elseif(mark==8)printf("B\n");elseif(mark==7)printf("C\n");elseif(mark==6)printf("D\n");elseprintf("E\n");}23、模仿P45【例3-4】写程序,输入x,输出y值;3*x+5(x>0)y=0(x=0)3*x-5(x<0)#includemain(){floatx;printf("inputx=");scanf("%f",&x);if(x>0)printf("y=%f\n",(3*x+5));elseif(x==0)printf("y=0\n");elseprintf("y=%f\n",(3*x-5));}24、由键盘输入三个整数分别赋给变量a、b、c,编写程序输出其中绝对值最大(或最小)的数;fabs(a)#include#include#includeintxmin(intx,inty,intz){intm;if(x>y){if(z>x)m=z;elsem=x;}else{if(z>y)m=z;elsem=y;}return(m);}main(){inta,b,c,d,e,f,g;printf("请输入三个整数\n");scanf("%d,%d,%d",&a,&b,&c);d=fabs(a);e=fabs(b);f=fabs(c);g=xmin(d,e,f);printf("%d\n",g);}25、编写程序输入三个整数,要求按由小到大(或由大到小)顺序输出;#includemain(){inta,b,c;printf("请输入三个整数\n");scanf("%d,%d,%d",&a,&b,&c);if(a>b){if(c>a)printf("%d>%d>%d\n",c,a,b);else{if(c>b)printf("%d>%d>%d\n",a,c,b);elseprintf("%d>%d>%d\n",a,b,c);}}else{if(c>b)printf("%d>%d>%d\n",c,b,a);else{if(c>a)printf("%d>%d>%d\n",b,c,a);elseprintf("%d>%d>%d\n",b,a,c);}}}26、练习、读懂第三章P44【例3-3】、P45【例3-4】、P46【例3-5】、P48【例3-6】;27、编程实现从键盘给变量a,b分别输入整数,要求每个变量只能接受两位数,例如:32和46,求两数的乘积并显示出32*46=1472。输出时要求a,b占字符宽度3位,乘积占用5位显示。#includemain(){inta,b,c;printf("请输入两个二位整数\n");scanf("%2d,%2d",&a,&b);c=a*b;printf("%3d,%3d,%5d\n",a,b,c);}28、编程实现用getchar函数从键盘得到一个字符,并用putchar函数输出这个字符(参考教材P32【例2-2】、【例2-3】)。#includemain(){inta;printf("qingshuruyigezifu\n");a=getchar();putchar(a);printf("\n");}29、设计一个程序,输入正五边形的边长的长度a,按公式计算该五边形外接圆的半径,结果保留两位小数。(验证:如a=1时,R=0.85;a=2时,R=0.43)#include#includemain(){floata,R;scanf("%f",&a);R=1/(2*a)*sqrt((10+2*sqrt(5))/5);printf("半径=%4.2f\n",R);}30、设计一程序,输入空间中两点的坐标x1,y1,z1和x2,y2,z2,计算两点之间的距离。#include#includemain(){floatx1,x2,y1,y2,z1,z2,L;printf("请输入六个数\n");scanf("%f,%f,%f,%f,%f,%f",&x1,&x2,&y1,&y2,&z1,&z2);L=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)+(z2-z1)*(z2-z1));printf("L=%f\n",L);}31、鸡兔同笼问题。已知鸡、兔总头数为h,总脚数为f,求鸡兔各多少只?(验证:如h=12,f=40,则cock=4,rabbit=8;如h=16,f=40,则cock=12,rabbit=4)#include#includemain(){inth,f,a,b;printf("请输入两个数:\n");scanf("%d,%d",&h,&f);a=(4*h-f)/2;b=(f-2*h)/2;printf("cock=%d,rabbit=%d\n",a,b);}
{d=k;}
if(d!
=i)
guo=a[i];
a[i]=a[d];
a[d]=guo;
for(e=0;e<5;e++)
printf("a[%d]=%-5d",e,a[e]);
9、冒泡法排序。
{inta[5]={1,7,12,20,16},i,j,guo;
if(a[i]{guo=a[i];a[i]=a[i+1];a[i+1]=guo;}}}for(i=0;i<5;i++){printf("%d",a[i]);}}10、有一递推数列,满足f(0)=0,f(1)=1,f(2)=2,f(n)=f(n-1)+2f(n-2)f(n-3)(n>=3)。使用数列编写程序,顺序打出f(0)到f(10)的值。#includemain(){intf[11],i;f[0]=0;f[1]=1;f[2]=2;for(i=3;i<=10;i++){f[i]=f[i-1]+2*f[i-2]*f[i-3];}for(i=0;i<=10;i++){printf("%d,",f[i]);}printf("\n");}11、请用户输入一个含有12个浮点数的一维数组,分别计算数组中所有的正数和以及所有的负数和。#includemain(){floatf[12],a=0,b=0;inti;printf("请输入十二个浮点型的数:");for(i=0;i<=11;i++){scanf("%f,",&f[i]);}for(i=0;i<=11;i++){if(f[i]>0){a+=f[i];}else{b+=f[i];}}printf("正数和是:%f,负数和是:%f\n",a,b);}12、编程实现求数列…的所有大于等于0.000001的数据项之和,显示输出计算结果(运行结果:s=2.999999);#includemain(){inti=1;floatj,s=0;for(j=1.0/2;j>=0.000001;j=((2*i-1)/2.0)*((1.0/(2*(i-1)-1))*j)){s+=j;i++;}printf("s=%f\n",s);}13、.把100~150之间的不能被3整除的数输出#includemain(){inta,b;for(a=100;a<=150;a++){b=a%3;if(b!=0){printf("%5d",a);}}}14、计算公式t=1-1/2-1/3……-1/m的值。例如:若输入5,则应输出-0.283333;#includemain(){inti,j;floatf=1;printf("inputanumber:");scanf("%d",&i);for(j=2;j<=i;j++){f-=1.0/j;}printf("f=%f",f);}15、打印九九乘法表。#includemain(){inti,j;for(i=1;i<=9;i++){for(j=1;j<=i;j++){printf("%d*%d=%-5d",j,i,j*i);}printf("\n");}}16、编程实现1~500之间的满足条件的解。“除以3余1,除以5余2,除以7余3”。(中国剩余定理:“有物不知几何,三三数余一,五五数余二,七七数余三,问:物有几何?”)(运行结果:52、157、262、367、472);#includemain(){inta,b,c,d;for(a=1;a<=500;a++){b=a%3;c=a%5;d=a%7;if((b==1&&c==2)&&d==3){printf("%5d",a);}}printf("\n");}17、教材P62三、编程题3;(验证:如n=2,结果1.833333;如n=5,结果11.450000)#includemain(){intn,i=1;floatm=0;printf("请输入一个整数,n=");scanf("%d",&n);while(i<=n){m=m+(i*i)/(i+1.0);i++;}printf("所得结果是:%f\n",m);}18、编写程序求出满足不等式1+2+3+…+n<500的最大n值及总和;(运行结果:n=31,sum=496)#includemain(){intn=1,m=0;while(m<500){m+=n;n++;}printf("n=%d,sum=%d\n",n-2,m-n+1);}19、编写程序,求1-3+5-7+9……-99+101的值;(运行结果:51.000000)#includemain(){inta=0,b=0,c=0,d=0;floatm=0;while((a<=25)&&(b<=25)){m+=c-d;a++;b++;c=2*(2*a-1)-1;d=2*(2*b)-1;}printf("m=%f",m+c);}20、求的值。(请分别用while、dowhile和for语句来实现,运行结果:47976.00)21、输入一个字符,判别它是否大写字母,如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符。#includemain(){charm;scanf("%c",&m);if(m>='A'&&m<='Z'){m=m+32;printf("%c\n",m);}else{printf("%c\n",m);}}22、给出百分制成绩,要求输出成绩等级A、B、C、D、E。90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。#includemain(){intmark;printf("inputthemarkofastudent(0");scanf("%d",&mark);mark=mark/10;if(mark==9)printf("A\n");elseif(mark==8)printf("B\n");elseif(mark==7)printf("C\n");elseif(mark==6)printf("D\n");elseprintf("E\n");}23、模仿P45【例3-4】写程序,输入x,输出y值;3*x+5(x>0)y=0(x=0)3*x-5(x<0)#includemain(){floatx;printf("inputx=");scanf("%f",&x);if(x>0)printf("y=%f\n",(3*x+5));elseif(x==0)printf("y=0\n");elseprintf("y=%f\n",(3*x-5));}24、由键盘输入三个整数分别赋给变量a、b、c,编写程序输出其中绝对值最大(或最小)的数;fabs(a)#include#include#includeintxmin(intx,inty,intz){intm;if(x>y){if(z>x)m=z;elsem=x;}else{if(z>y)m=z;elsem=y;}return(m);}main(){inta,b,c,d,e,f,g;printf("请输入三个整数\n");scanf("%d,%d,%d",&a,&b,&c);d=fabs(a);e=fabs(b);f=fabs(c);g=xmin(d,e,f);printf("%d\n",g);}25、编写程序输入三个整数,要求按由小到大(或由大到小)顺序输出;#includemain(){inta,b,c;printf("请输入三个整数\n");scanf("%d,%d,%d",&a,&b,&c);if(a>b){if(c>a)printf("%d>%d>%d\n",c,a,b);else{if(c>b)printf("%d>%d>%d\n",a,c,b);elseprintf("%d>%d>%d\n",a,b,c);}}else{if(c>b)printf("%d>%d>%d\n",c,b,a);else{if(c>a)printf("%d>%d>%d\n",b,c,a);elseprintf("%d>%d>%d\n",b,a,c);}}}26、练习、读懂第三章P44【例3-3】、P45【例3-4】、P46【例3-5】、P48【例3-6】;27、编程实现从键盘给变量a,b分别输入整数,要求每个变量只能接受两位数,例如:32和46,求两数的乘积并显示出32*46=1472。输出时要求a,b占字符宽度3位,乘积占用5位显示。#includemain(){inta,b,c;printf("请输入两个二位整数\n");scanf("%2d,%2d",&a,&b);c=a*b;printf("%3d,%3d,%5d\n",a,b,c);}28、编程实现用getchar函数从键盘得到一个字符,并用putchar函数输出这个字符(参考教材P32【例2-2】、【例2-3】)。#includemain(){inta;printf("qingshuruyigezifu\n");a=getchar();putchar(a);printf("\n");}29、设计一个程序,输入正五边形的边长的长度a,按公式计算该五边形外接圆的半径,结果保留两位小数。(验证:如a=1时,R=0.85;a=2时,R=0.43)#include#includemain(){floata,R;scanf("%f",&a);R=1/(2*a)*sqrt((10+2*sqrt(5))/5);printf("半径=%4.2f\n",R);}30、设计一程序,输入空间中两点的坐标x1,y1,z1和x2,y2,z2,计算两点之间的距离。#include#includemain(){floatx1,x2,y1,y2,z1,z2,L;printf("请输入六个数\n");scanf("%f,%f,%f,%f,%f,%f",&x1,&x2,&y1,&y2,&z1,&z2);L=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)+(z2-z1)*(z2-z1));printf("L=%f\n",L);}31、鸡兔同笼问题。已知鸡、兔总头数为h,总脚数为f,求鸡兔各多少只?(验证:如h=12,f=40,则cock=4,rabbit=8;如h=16,f=40,则cock=12,rabbit=4)#include#includemain(){inth,f,a,b;printf("请输入两个数:\n");scanf("%d,%d",&h,&f);a=(4*h-f)/2;b=(f-2*h)/2;printf("cock=%d,rabbit=%d\n",a,b);}
a[i]=a[i+1];
a[i+1]=guo;
for(i=0;i<5;i++)
{printf("%d",a[i]);
10、有一递推数列,满足f(0)=0,f
(1)=1,f
(2)=2,f(n)=f(n-1)+2f(n-2)f(n-3)(n>=3)。
使用数列编写程序,顺序打出f(0)到f(10)的值。
{intf[11],i;
f[0]=0;
f[1]=1;
f[2]=2;
for(i=3;i<=10;i++)
{f[i]=f[i-1]+2*f[i-2]*f[i-3];}
for(i=0;i<=10;i++)
{printf("%d,",f[i]);}
11、请用户输入一个含有12个浮点数的一维数组,分别计算数组中所有的正数和以及所有的负数和。
{floatf[12],a=0,b=0;
inti;
printf("请输入十二个浮点型的数:
for(i=0;i<=11;i++)
{scanf("%f,",&f[i]);}
{if(f[i]>0)
{a+=f[i];}
{b+=f[i];}
printf("正数和是:
%f,负数和是:
%f\n",a,b);
12、
编程实现求数列
…的所有大于等于0.000001的数据项之和,显示输出计算结果(运行结果:
s=2.999999);
{inti=1;
floatj,s=0;
for(j=1.0/2;j>=0.000001;j=((2*i-1)/2.0)*((1.0/(2*(i-1)-1))*j))
{s+=j;
i++;
printf("s=%f\n",s);
13、.把100~150之间的不能被3整除的数输出
{inta,b;
for(a=100;a<=150;a++)
{b=a%3;
if(b!
{printf("%5d",a);}
14、计算公式t=1-1/2-1/3……-1/m的值。
例如:
若输入5,则应输出-0.283333;
{inti,j;
floatf=1;
printf("inputanumber:
scanf("%d",&i);
for(j=2;j<=i;j++)
{f-=1.0/j;}
printf("f=%f",f);
15、打印九九乘法表。
for(i=1;i<=9;i++)
{for(j=1;j<=i;j++)
{printf("%d*%d=%-5d",j,i,j*i);}
16、编程实现1~500之间的满足条件的解。
“除以3余1,除以5余2,除以7余3”。
(中国剩余定理:
“有物不知几何,三三数余一,五五数余二,七七数余三,问:
物有几何?
”)(运行结果:
52、157、262、367、472);
{inta,b,c,d;
for(a=1;a<=500;a++)
c=a%5;
d=a%7;
if((b==1&&c==2)&&d==3)
17、教材P62三、编程题3;
(验证:
如n=2,结果1.833333;如n=5,结果11.450000)
{intn,i=1;
floatm=0;
printf("请输入一个整数,n=");
scanf("%d",&n);
while(i<=n)
{m=m+(i*i)/(i+1.0);
printf("所得结果是:
%f\n",m);
18、编写程序求出满足不等式1+2+3+…+n<500的最大n值及总和;
(运行结果:
n=31,sum=496)
{intn=1,m=0;
while(m<500)
{m+=n;
n++;
printf("n=%d,sum=%d\n",n-2,m-n+1);
19、编写程序,求1-3+5-7+9……-99+101的值;
(运行结果:
51.000000)
{inta=0,b=0,c=0,d=0;
while((a<=25)&&(b<=25))
{m+=c-d;
a++;
b++;
c=2*(2*a-1)-1;
d=2*(2*b)-1;
printf("m=%f",m+c);
20、求
的值。
(请分别用while、dowhile和for语句来实现,运行结果:
47976.00)
21、输入一个字符,判别它是否大写字母,如果是,将它转换成小写字母;如果不是,不转换。
然后输出最后得到的字符。
{charm;
scanf("%c",&m);
if(m>='A'&&m<='Z')
{m=m+32;
printf("%c\n",m);
{printf("%c\n",m);
22、给出百分制成绩,要求输出成绩等级A、B、C、D、E。
90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。
{intmark;
printf("inputthemarkofastudent(0");scanf("%d",&mark);mark=mark/10;if(mark==9)printf("A\n");elseif(mark==8)printf("B\n");elseif(mark==7)printf("C\n");elseif(mark==6)printf("D\n");elseprintf("E\n");}23、模仿P45【例3-4】写程序,输入x,输出y值;3*x+5(x>0)y=0(x=0)3*x-5(x<0)#includemain(){floatx;printf("inputx=");scanf("%f",&x);if(x>0)printf("y=%f\n",(3*x+5));elseif(x==0)printf("y=0\n");elseprintf("y=%f\n",(3*x-5));}24、由键盘输入三个整数分别赋给变量a、b、c,编写程序输出其中绝对值最大(或最小)的数;fabs(a)#include#include#includeintxmin(intx,inty,intz){intm;if(x>y){if(z>x)m=z;elsem=x;}else{if(z>y)m=z;elsem=y;}return(m);}main(){inta,b,c,d,e,f,g;printf("请输入三个整数\n");scanf("%d,%d,%d",&a,&b,&c);d=fabs(a);e=fabs(b);f=fabs(c);g=xmin(d,e,f);printf("%d\n",g);}25、编写程序输入三个整数,要求按由小到大(或由大到小)顺序输出;#includemain(){inta,b,c;printf("请输入三个整数\n");scanf("%d,%d,%d",&a,&b,&c);if(a>b){if(c>a)printf("%d>%d>%d\n",c,a,b);else{if(c>b)printf("%d>%d>%d\n",a,c,b);elseprintf("%d>%d>%d\n",a,b,c);}}else{if(c>b)printf("%d>%d>%d\n",c,b,a);else{if(c>a)printf("%d>%d>%d\n",b,c,a);elseprintf("%d>%d>%d\n",b,a,c);}}}26、练习、读懂第三章P44【例3-3】、P45【例3-4】、P46【例3-5】、P48【例3-6】;27、编程实现从键盘给变量a,b分别输入整数,要求每个变量只能接受两位数,例如:32和46,求两数的乘积并显示出32*46=1472。输出时要求a,b占字符宽度3位,乘积占用5位显示。#includemain(){inta,b,c;printf("请输入两个二位整数\n");scanf("%2d,%2d",&a,&b);c=a*b;printf("%3d,%3d,%5d\n",a,b,c);}28、编程实现用getchar函数从键盘得到一个字符,并用putchar函数输出这个字符(参考教材P32【例2-2】、【例2-3】)。#includemain(){inta;printf("qingshuruyigezifu\n");a=getchar();putchar(a);printf("\n");}29、设计一个程序,输入正五边形的边长的长度a,按公式计算该五边形外接圆的半径,结果保留两位小数。(验证:如a=1时,R=0.85;a=2时,R=0.43)#include#includemain(){floata,R;scanf("%f",&a);R=1/(2*a)*sqrt((10+2*sqrt(5))/5);printf("半径=%4.2f\n",R);}30、设计一程序,输入空间中两点的坐标x1,y1,z1和x2,y2,z2,计算两点之间的距离。#include#includemain(){floatx1,x2,y1,y2,z1,z2,L;printf("请输入六个数\n");scanf("%f,%f,%f,%f,%f,%f",&x1,&x2,&y1,&y2,&z1,&z2);L=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)+(z2-z1)*(z2-z1));printf("L=%f\n",L);}31、鸡兔同笼问题。已知鸡、兔总头数为h,总脚数为f,求鸡兔各多少只?(验证:如h=12,f=40,则cock=4,rabbit=8;如h=16,f=40,则cock=12,rabbit=4)#include#includemain(){inth,f,a,b;printf("请输入两个数:\n");scanf("%d,%d",&h,&f);a=(4*h-f)/2;b=(f-2*h)/2;printf("cock=%d,rabbit=%d\n",a,b);}
scanf("%d",&mark);
mark=mark/10;
if(mark==9)
printf("A\n");
elseif(mark==8)
printf("B\n");
elseif(mark==7)
printf("C\n");
elseif(mark==6)
printf("D\n");
printf("E\n");
23、模仿P45【例3-4】写程序,输入x,输出y值;
3*x+5(x>0)
y=0(x=0)
3*x-5(x<0)
{floatx;
printf("inputx=");
scanf("%f",&x);
if(x>0)
printf("y=%f\n",(3*x+5));
elseif(x==0)
printf("y=0\n");
printf("y=%f\n",(3*x-5));
24、由键盘输入三个整数分别赋给变量a、b、c,编写程序输出其中绝对值最大(或最小)的数;fabs(a)#include
intxmin(intx,inty,intz)
{intm;
if(x>y)
{if(z>x)m=z;
elsem=x;
{if(z>y)m=z;
elsem=y;
return(m);
{inta,b,c,d,e,f,g;
printf("请输入三个整数\n");
scanf("%d,%d,%d",&a,&b,&c);
d=fabs(a);e=fabs(b);f=fabs(c);
g=xmin(d,e,f);
printf("%d\n",g);
25、编写程序输入三个整数,要求按由小到大(或由大到小)顺序输出;
{inta,b,c;
if(a>b)
{if(c>a)
printf("%d>%d>%d\n",c,a,b);
{if(c>b)
printf("%d>%d>%d\n",a,c,b);
printf("%d>%d>%d\n",a,b,c);
printf("%d>%d>%d\n",c,b,a);
printf("%d>%d>%d\n",b,c,a);
printf("%d>%d>%d\n",b,a,c);
26、练习、读懂第三章P44【例3-3】、P45【例3-4】、P46【例3-5】、P48【例3-6】;
27、编程实现从键盘给变量a,b分别输入整数,要求每个变量只能接受两位数,例如:
32和46,求两数的乘积并显示出32*46=1472。
输出时要求a,b占字符宽度3位,乘积占用5位显示。
printf("请输入两个二位整数\n");
scanf("%2d,%2d",&a,&b);
c=a*b;
printf("%3d,%3d,%5d\n",a,b,c);
28、编程实现用getchar函数从键盘得到一个字符,并用putchar函数输出这个字符(参考教材P32【例2-2】、【例2-3】)。
{inta;
printf("qingshuruyigezifu\n");
a=getchar();
putchar(a);
29、设计一个程序,输入正五边形的边长的长度a,按公式
计算该五边形外接圆的半径,结果保留两位小数。
如a=1时,R=0.85;a=2时,R=0.43)
{floata,R;
scanf("%f",&a);
R=1/(2*a)*sqrt((10+2*sqrt(5))/5);
printf("半径=%4.2f\n",R);
30、设计一程序,输入空间中两点的坐标x1,y1,z1和x2,y2,z2,计算两点之间的距离。
{floatx1,x2,y1,y2,z1,z2,L;
printf("请输入六个数\n");
scanf("%f,%f,%f,%f,%f,%f",&x1,&x2,&y1,&y2,&z1,&z2);
L=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)+(z2-z1)*(z2-z1));
printf("L=%f\n",L);
31、鸡兔同笼问题。
已知鸡、兔总头数为h,总脚数为f,求鸡兔各多少只?
如h=12,f=40,则cock=4,rabbit=8;如h=16,f=40,则cock=12,rabbit=4)
{inth,f,a,b;
printf("请输入两个数:
\n");
scanf("%d,%d",&h,&f);
a=(4*h-f)/2;b=(f-2*h)/2;
printf("cock=%d,rabbit=%d\n",a,b);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1