1、C语言复习资料编程顺序结构:1 将华氏温度转换为摄氏温度和绝对温度的公式分别为: c= (f-32) (摄氏温度) k=273.16+c (绝对温度)请编程序:当给出f时,求其相应摄氏温度和绝对温度。#include void main() float ff,fk,fc; scanf(%f,&ff); fc=5.0/9*(ff-32); fk=273.16+fc; printf(c=%f,k=%fn,fc,fk);_2 输入3个实数,分别求出它们的和、平均值、平方和以及平方和的开方,并输出所求出各个值。#include #include void main() float fa,fb,fc,f
2、sum,fave,fqsum,fq; scanf(%f%f%f,&fa,&fb,&fc); fsum=fa+fb+fc; fave=fsum/3; fqsum=fa*fa+fb*fb+fc*fc; fq=sqrt(fqsum); printf(sum=%f,average=%f,quadrtic sum=%f, square root=%fn,fsum,fave,fqsum,fq);3 输入一个3位整数,求出该数每个位上的数字之和。如123,每个位上的数字和就是1+2+3=6。#include void main() int ia,ib,ic,in,isum; scanf(%d,&in); i
3、a=in/100; ib=in%100/10; ic=in%10; isum=ia+ib+ic; printf(sum=%dn,isum);4 编写一个程序,实现:用户输入一个长方体的长、宽、高,程序计算输出它的体积及正、侧、顶三个面的面积。#include void main() int ilength,iwidth,iheight,ivolume,iarea1,iarea2,iarea3; scanf(%d,%d,%d,&ilength,&iwidth,&iheight); ivolume=ilength*iwidth*iheight; iarea1=ilength*iheight; ia
4、rea2=iwidth*iheight; iarea3=ilength*iwidth; printf(volume=%d, area=%d,%d,%dn,ivolume,iarea1,iarea2,iarea3);_课本:p52 五实验指导书:p14 4-74.#include void main() char c1=D; int x=6; float y=2.5132; unsigned z=45678; printf(c1=%c, x=%d, y=%f, z=%un,c1,x,y,z); printf(c1=%4d, x= %-3d, y=%7.2f, z=%8dn,c1,x,y,z);
5、printf(x=%-#5o,%#5xn,x,x); printf(c1=%-3c%-3c%dn,c1,c1+32,c1+32);5.#include void main() int ix,iy; char cx; scanf(%o,%x,%c,&ix,&iy,&cx); printf(%d,%d,%d,ix,iy,cx);_6.#include #define PI 3.1415926void main() float fr,fcir,fvolume; scanf(%f,&fr); fcir=2*PI*fr; fvolume=4.0/3*PI*fr*fr*fr; printf(perimet
6、er=%.2f, volume=%.2fn,fcir,fvolume);_7.#include void main() int im,in,isum,idif,ipro,iquo,irem; scanf(%d%d,&im,&in); isum=im+in; idif=im-in; ipro=im*in; iquo=im/in; irem=im%in; printf(%d+%d=%d,%d-%d=%d,%d*%d=%d,%d/%d=%d,%d%d=%d,im,in,isum,im,in,idif,im,in,ipro,im,in,iquo,im,in,irem); _选择结构:1. 输入一个字符
7、,判断它如果是小写字母输出其对应大写字母;如果是大写字母输出其对应小写字母;如果是数字输出数字本身;如果是空格,输出“space”;如果不是上述情况,输出“other”。#include void main() char c; scanf(%c,&c); if(c=a&c=A&c=0&c=9) printf(%c,c); else if(c= ) printf(space); else printf(other);_2. 有三个数a、b、c,由键盘输入,输出其中最大的数。(1)#include void main() int ia,ib,ic,imax; scanf(%d%d%d,&ia,&i
8、b,&ic); imax=ia; if(ibimax) imax=ib; if(icimax) imax=ic; printf(max=%dn,imax);_(2)#include void main() int ia,ib,ic,id,imax; scanf(%d%d%d,&ia,&ib,&ic); id=(iaib)?ia:ib; imax=(idic)?id:ic; printf(max=%dn,imax);_3. 输入一个数,判断它能否被 3或者被 5整除, 如至少能被这两个数中的一个整除则将此数打印出来,否则不打印,编出程序。include void main() int ia; s
9、canf(%d,&ia); if(ia%3=0|ia%5=0) printf(%dn,ia);_4. 读入1到7之间的某个数,输出表示一星期中相应的某一天的单词:Monday、 Tuesday等等,用switch语句做。 P675. 给出一百分制成绩,要求输出成绩等级A,B,C,D,E,90分以上为A,8089分为B,7079分为C,6069分为D,60分以下为E。(1)#include void main() int igrade; scanf(%d, &igrade); if(igrade=0&igrade= 90 ) printf( A ); else if ( igrade = 80
10、) printf (B ); else if ( igrade = 70 ) printf (C ); else if(igrade=60) printf(D); else printf (E ); else printf(error);(2)#include void main() int igrade; scanf(%d, &igrade); if(igrade=0&igrade=100) switch(igrade/10) case 10: case 9:printf(A);break; case 8:printf(B);break; case 7:printf(C);break; ca
11、se 6:printf(D);break; default:printf(E); else printf(error);6. 有一函数 请编程序计算y的值(x的值由键盘输入)。#include void main() int ix; float fy; scanf(%d, &ix); if(ix=0&ix=15&ix=30&ix=45&ix=75&ix90) fy=60-10.0/15*(ix-75); else fy=-1; if(fy=-1) printf(meaningless); else printf(y=%f,fy);7. 给出一个不多于5位的正整数,要求: 求出它是几位数 分别打
12、印出每一位数字 按逆序打印出各位数字。#include void main() long ix; int ia,ib,ic,id,ie; scanf(%ld,&ix); if(ix=0&ix100000) ia=ix/10000; ib=ix%10000/1000; ic=ix%1000/100; id=ix%100/10; ie=ix%10; if(ia!=0) printf(5n); printf(%d,%d,%d,%d,%dn,ia,ib,ic,id,ie); printf(%d%d%d%d%dn,ie,id,ic,ib,ia); else if(ib!=0) printf(4n); p
13、rintf(%d,%d,%d,%dn,ib,ic,id,ie); printf(%d%d%d%dn,ie,id,ic,ib); else if(ic!=0) printf(3n); printf(%d,%d,%dn,ic,id,ie); printf(%d%d%dn,ie,id,ic); else if(id!=0) printf(2n); printf(%d,%dn,id,ie); printf(%d%dn,ie,id); else printf(1n); printf(%dn,ie); printf(%d,ie); else printf(error);8. 输入三个整数,按由小到大的顺序
14、输出。参考课本p56 例3.29. 给一个不多于5位的正整数,要求求出它是几位数,并输出所求出的位数。参考第7题10. 编写程序,判断某年是否为闰年。闰年的条件:(1).如果年份可以被100整除,又能被400整除时为闰年。(2).如果年份不能被100整除,但可以被4整除时为闰年。参考课本p66 例3.911.编写一程序计算如下函数值,F(x)= -2x (x0)#include void main() float fx,fy; scanf(%f,&fx); if(fx0) fy=-2*fx; else if(fx=0) fy=0; else fy=5*fx+9; printf(f(x)=%f,
15、fy);课本:p89 1,2实验指导书:p20 4#include void main() long ix; int ia,ib,ic,id,ie; scanf(%ld,&ix); ia=ix/10000; ib=ix%10000/1000; ic=ix%1000/100; id=ix%100/10; ie=ix%10; if(ia=ie&ib=id) printf(yes); else printf(no);循环结构1. 编写程序,输入一个整数x,按下式输出对应的y值。 #include void main() int ix,ii,iy=0; scanf(%d,&ix); if(ix%2!=
16、0) for(ii=1;ii=ix;ii=ii+2) iy=iy+ii; else for(ii=2;ii=ix;ii=ii+2) iy=iy+ii; printf(y=%dn,iy);2. 计算n的阶乘#include void main() int ii ,in; long ls=1; printf(n=); scanf(%d,&in); for ( ii=1;ii=in;ii+) ls=ls*ii; printf(%d!=%ldn,in,ls);3. 求 1到 100之间的奇数之和、偶数之积。#include void main() int ii ,isum1=0,isum2=0; fo
17、r ( ii=1;ii=99;ii=ii+2) isum1=isum1+ii; for(ii=2;ii=100;ii=ii+2) isum2=isum2+ii; printf(sum1=%d,sum2=%dn,isum1,isum2);4. 用循环语句编写求的程序。#include void main() int ii; long lf=1,sum=1; for ( ii=1;ii=20;ii+) lf=lf*2; sum=sum+lf; printf(sum=%ldn,sum);5 求(即求1!+2!+3!+.+20!) 。#include void main() int ii,ij; lo
18、ng lsum=0,ls; for (ii=1;ii=20;ii+) ls=1; for (ij=1; ij=ii ; ij+) ls=ls*ij ; lsum=lsum+ls; printf ( Sum=%ldn,lsum) ; 6. 有一分数序列,求出这个数列的前n项之和,保留两位小数。#include void main() int ii,ij,in; float fsum=0,fa=2,fb=1,fc; scanf(%d,&in); for (ii=1;ii=in;ii+) fsum=fsum+fa/fb; fc=fa; fa=fa+fb; fb=fc; printf ( Sum=%.
19、2fn,fsum) ;7. 判断一个数是否是素数参考课本p81 例3.258. 打印1-100之间所有素数# include void main() int im,ii,in=0; for(im=2;im=100;im+) for (ii=2;ii=im) printf(%d ,im); in=in+1; if(in%10=0) printf(n); printf (n);9. 求1-100之间所有非素数的和# include void main() int im,ii,isum=0; for(im=2;im=100;im+) for (ii=2;iiim;ii+) if (im%ii=0)
20、isum=isum+im; break; printf (sum=%dn,isum);10. 打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数, 其各位数字立方和等于该数本身。例如 153是一个水仙花数,因为 153#include void main() int ii,ia,ib,ic; for(ii=100;ii1000;ii+) ia=ii/100; ib=ii%100/10; ic=ii%10; if(ia*ia*ia+ib*ib*ib+ic*ic*ic=ii) printf (%d,ii); 11. 分别输出半径等于1,2,3的圆面积,当面积大于100时停止。# includ
21、e #define PI 3.1415void main() int ir; float farea; for(ir=1;ir+) farea=PI*ir*ir; if(farea100) break; else printf(area=%fn,farea); 12. 一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6 的因子为1、2、3,而6=1+2+3,因此6 是“完数”。编程序找出1000之内的所有完数。# include void main() int ii,ij,isum; for(ii=2;ii1000;ii+) isum=0; for(ij=1;ijii;ij+) i
22、f(ii%ij=0) isum=isum+ij; if(isum=ii) printf(%d ,ii); 13. 有一个四位正整数,如果把它们的首尾互换,第二位与第三位互换,组成一个新的四位数。原四位数为新四位数的4倍,请找出一个这样的四位数。# include void main() int ii,ia,ib,ic,id; for(ii=1000;ii10000;ii+) ia=ii/1000; ib=ii%1000/100; ic=ii%100/10; id=ii%10; if(ii=4*(id*1000+ic*100+ib*10+ia) printf(%d ,ii); 14. 编程序求
23、5X+2Y+Z=50 的所有非负整数解。# include void main() int ix,iy,iz; for(ix=0;ix=10;ix+) for(iy=0;iy=25;iy+) for(iz=0;iz=50;iz+) if(5*ix+2*iy+iz=50) printf(x=%d,y=%d,z=%dn,ix,iy,iz);15.编一个程序,把一批非零整数中的偶数、奇数的平均值分别计算出来。用零作为终止标记。# include void main() int ii,im=0,in=0,ia; float isum1=0,isum2=0,iave1,iave2; for(ii=1;i
24、i+) scanf(%d,&ia); if(ia=0) break; if(ia%2=0) isum1=isum1+ia; im+; else isum2=isum2+ia; in+; printf(average of even is %f,average of odd is %fn,isum1/im,isum2/in); 16.某单位排队形,开始排成3路纵队,末尾多出了2人。后改成5路纵队,末尾又多出了3人,最后改成7路纵队,正好没有余数。编程序求出该单位至少有多少人。# include void main() int ii; for(ii=7;ii+) if(ii%7=0&ii%3=2&
25、ii%5=3) printf(number is %dn,ii); break; 17.个位数是6,且能被3整除的五位数共有多少个。# include void main() long int ii; int ia,in=0; for(ii=10000;ii100000;ii+) ia=ii%10; if(ia=6&ii%3=0) printf(%ld ,ii); in+; printf(number is %dn,in); 18.求100至200之间能同时被6和8整除的数,把这些数打印出来,并且打印这些数的和。# include void main() int ii,isum=0; for(ii=100;ii=200;ii+) if(ii%6=0&ii%8=0) printf(%d ,ii); isum=isum+ii; printf(sum= %dn,isum); 19. 打印200到300之间所有的素数。# include void main() int im,i
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1