C语言复习资料编程.docx

上传人:b****8 文档编号:9788545 上传时间:2023-02-06 格式:DOCX 页数:49 大小:50.40KB
下载 相关 举报
C语言复习资料编程.docx_第1页
第1页 / 共49页
C语言复习资料编程.docx_第2页
第2页 / 共49页
C语言复习资料编程.docx_第3页
第3页 / 共49页
C语言复习资料编程.docx_第4页
第4页 / 共49页
C语言复习资料编程.docx_第5页
第5页 / 共49页
点击查看更多>>
下载资源
资源描述

C语言复习资料编程.docx

《C语言复习资料编程.docx》由会员分享,可在线阅读,更多相关《C语言复习资料编程.docx(49页珍藏版)》请在冰豆网上搜索。

C语言复习资料编程.docx

C语言复习资料编程

顺序结构:

1.将华氏温度转换为摄氏温度和绝对温度的公式分别为:

c=

(f-32)(摄氏温度)

k=273.16+c(绝对温度)

请编程序:

当给出f时,求其相应摄氏温度和绝对温度。

#include

voidmain()

{

floatff,fk,fc;

scanf("%f",&ff);

fc=5.0/9*(ff-32);

fk=273.16+fc;

printf("c=%f,k=%f\n",fc,fk);

}_

2.输入3个实数,分别求出它们的和、平均值、平方和以及平方和的开方,并输出所求出各个值。

#include

#include

voidmain()

{

floatfa,fb,fc,fsum,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,quadrticsum=%f,squareroot=%f\n",fsum,fave,fqsum,fq);

}

3.输入一个3位整数,求出该数每个位上的数字之和。

如123,每个位上的数字和就是1+2+3=6。

#include

voidmain()

{

intia,ib,ic,in,isum;

scanf("%d",&in);

ia=in/100;

ib=in%100/10;

ic=in%10;

isum=ia+ib+ic;

printf("sum=%d\n",isum);

}

4.编写一个程序,实现:

用户输入一个长方体的长、宽、高,程序计算输出它的体积及正、侧、顶三个面的面积。

#include

voidmain()

{

intilength,iwidth,iheight,ivolume,iarea1,iarea2,iarea3;

scanf("%d,%d,%d",&ilength,&iwidth,&iheight);

ivolume=ilength*iwidth*iheight;

iarea1=ilength*iheight;

iarea2=iwidth*iheight;

iarea3=ilength*iwidth;

printf("volume=%d,area=%d,%d,%d\n",ivolume,iarea1,iarea2,iarea3);

}_

课本:

p52五

实验指导书:

p144-7

4.

#include

voidmain()

{

charc1='D';

intx=6;

floaty=2.5132;

unsignedz=45678;

printf("c1=%c,x=%d,y=%f,z=%u\n",c1,x,y,z);

printf("c1=%4d,x=%-3d,y=%7.2f,z=%8d\n",c1,x,y,z);

printf("x=%-#5o,%#5x\n",x,x);

printf("c1=%-3c%-3c%d\n",c1,c1+32,c1+32);

}

5.

#include

voidmain()

{

intix,iy;

charcx;

scanf("%o,%x,%c",&ix,&iy,&cx);

printf("%d,%d,%d",ix,iy,cx);

}_

6.

#include

#definePI3.1415926

voidmain()

{

floatfr,fcir,fvolume;

scanf("%f",&fr);

fcir=2*PI*fr;

fvolume=4.0/3*PI*fr*fr*fr;

printf("perimeter=%.2f,volume=%.2f\n",fcir,fvolume);

}_

7.

#include

voidmain()

{

intim,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.输入一个字符,判断它如果是小写字母输出其对应大写字母;如果是大写字母输出其对应小写字母;如果是数字输出数字本身;如果是空格,输出“space”;如果不是上述情况,输出“other”。

#include

voidmain()

{

charc;

scanf("%c",&c);

if(c>='a'&&c<='z')

printf("%c",c-32);

elseif(c>='A'&&c<='Z')

printf("%c",c+32);

elseif(c>='0'&&c<='9')

printf("%c",c);

elseif(c=='')

printf("space");

else

printf("other");

}_

2.有三个数a、b、c,由键盘输入,输出其中最大的数。

(1)

#include

voidmain()

{

intia,ib,ic,imax;

scanf("%d%d%d",&ia,&ib,&ic);

imax=ia;

if(ib>imax)

imax=ib;

if(ic>imax)

imax=ic;

printf("max=%d\n",imax);

}_

(2)

#include

voidmain()

{

intia,ib,ic,id,imax;

scanf("%d%d%d",&ia,&ib,&ic);

id=(ia>ib)?

ia:

ib;

imax=(id>ic)?

id:

ic;

printf("max=%d\n",imax);

}_

3.输入一个数,判断它能否被3或者被5整除,如至少能被这两个数中的一个整除则将此数打印出来,否则不打印,编出程序。

include

voidmain()

{

intia;

scanf("%d",&ia);

if(ia%3==0||ia%5==0)

printf("%d\n",ia);

}_

4.读入1到7之间的某个数,输出表示一星期中相应的某一天的单词:

Monday、Tuesday等等,用switch语句做。

P67

5.给出一百分制成绩,要求输出成绩等级‘A’,‘B’,‘C’,‘D’,‘E’,90分以上为‘A’,80~89分为‘B’,70~79分为‘C’,60~69分为‘D’,60分以下为‘E’。

(1)#include

voidmain()

{intigrade;

scanf("%d",&igrade);

if(igrade>=0&&igrade<=100)

{

if(igrade>=90)

printf("A");

elseif(igrade>=80)

printf("B");

elseif(igrade>=70)

printf("C");

elseif(igrade>=60)

printf("D");

else

printf("E");

}

else

printf("error");

}

(2)

#include

voidmain()

{intigrade;

scanf("%d",&igrade);

if(igrade>=0&&igrade<=100)

{

switch(igrade/10)

{

case10:

case9:

printf("A");break;

case8:

printf("B");break;

case7:

printf("C");break;

case6:

printf("D");break;

default:

printf("E");

}

}

else

printf("error");

}

6.有一函数

请编程序计算y的值(x的值由键盘输入)。

#include

voidmain()

{intix;

floatfy;

scanf("%d",&ix);

if(ix>=0&&ix<15)

fy=40.0/15*ix+10;

elseif(ix>=15&&ix<30)

fy=50;

elseif(ix>=30&&ix<45)

fy=50-10.0/15*(ix-30);

elseif(ix>=45&&ix<75)

fy=40+20.0/30*(ix-45);

elseif(ix>=75&&ix<90)

fy=60-10.0/15*(ix-75);

else

fy=-1;

if(fy==-1)

printf("meaningless");

else

printf("y=%f",fy);

}

7.给出一个不多于5位的正整数,要求:

①求出它是几位数②分别打印出每一位数字③按逆序打印出各位数字。

#include

voidmain()

{longix;

intia,ib,ic,id,ie;

scanf("%ld",&ix);

if(ix>=0&&ix<100000)

{

ia=ix/10000;

ib=ix%10000/1000;

ic=ix%1000/100;

id=ix%100/10;

ie=ix%10;

if(ia!

=0)

{

printf("5\n");

printf("%d,%d,%d,%d,%d\n",ia,ib,ic,id,ie);

printf("%d%d%d%d%d\n",ie,id,ic,ib,ia);

}

elseif(ib!

=0)

{

printf("4\n");

printf("%d,%d,%d,%d\n",ib,ic,id,ie);

printf("%d%d%d%d\n",ie,id,ic,ib);

}

elseif(ic!

=0)

{

printf("3\n");

printf("%d,%d,%d\n",ic,id,ie);

printf("%d%d%d\n",ie,id,ic);

}

elseif(id!

=0)

{

printf("2\n");

printf("%d,%d\n",id,ie);

printf("%d%d\n",ie,id);

}

else

{printf("1\n");

printf("%d\n",ie);

printf("%d",ie);

}

}

else

printf("error");

}

8.输入三个整数,按由小到大的顺序输出。

参考课本p56例3.2

9.给一个不多于5位的正整数,要求求出它是几位数,并输出所求出的位数。

参考第7题

10.编写程序,判断某年是否为闰年。

闰年的条件:

(1).如果年份可以被100整除,又能被400整除时为闰年。

(2).如果年份不能被100整除,但可以被4整除时为闰年。

参考课本p66例3.9

11.编写一程序计算如下函数值,

F(x)=-2x(x<0)

0(x=0)

5x+9(x>0)

#include

voidmain()

{floatfx,fy;

scanf("%f",&fx);

if(fx<0)

fy=-2*fx;

elseif(fx==0)

fy=0;

else

fy=5*fx+9;

printf("f(x)=%f",fy);

}

课本:

p891,2

实验指导书:

p204

#include

voidmain()

{longix;

intia,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

voidmain()

{intix,ii,iy=0;

scanf("%d",&ix);

if(ix%2!

=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=%d\n",iy);

}

2.计算n的阶乘

#include

voidmain()

{

intii,in;

longls=1;

printf("n=");

scanf("%d",&in);

for(ii=1;ii<=in;ii++)

ls=ls*ii;

printf("%d!

=%ld\n",in,ls);

}

3.求1到100之间的奇数之和、偶数之积。

#include

voidmain()

{

intii,isum1=0,isum2=0;

for(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=%d\n",isum1,isum2);

}

4.用循环语句编写求

的程序。

#include

voidmain()

{

intii;

longlf=1,sum=1;

for(ii=1;ii<=20;ii++)

{

lf=lf*2;

sum=sum+lf;

}

printf("sum=%ld\n",sum);

}

5求

(即求1!

+2!

+3!

+...+20!

)。

#include

voidmain()

{intii,ij;

longlsum=0,ls;

for(ii=1;ii<=20;ii++)

{

ls=1;

for(ij=1;ij<=ii;ij++)

ls=ls*ij;

lsum=lsum+ls;

}

printf("Sum=%ld\n",lsum);

}

6.有一分数序列

求出这个数列的前n项之和,保留两位小数。

#include

voidmain()

{intii,ij,in;

floatfsum=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=%.2f\n",fsum);

}

7.判断一个数是否是素数

参考课本p81例3.25

8.打印1-100之间所有素数

#include

voidmain()

{

intim,ii,in=0;

for(im=2;im<=100;im++)

{

for(ii=2;ii

if(im%ii==0)break;

if(ii>=im)

{

printf("%d",im);

in=in+1;

}

if(in%10==0)printf("\n");

}

printf("\n");

}

9.求1-100之间所有非素数的和

#include

voidmain()

{

intim,ii,isum=0;

for(im=2;im<=100;im++)

{

for(ii=2;ii

if(im%ii==0)

{

isum=isum+im;

break;

}

}

printf("sum=%d\n",isum);

}

10.打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。

例如153是一个水仙花数,因为153=

#include

voidmain()

{

intii,ia,ib,ic;

for(ii=100;ii<1000;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时停止。

#include

#definePI3.1415

voidmain()

{

intir;

floatfarea;

for(ir=1;;ir++)

{

farea=PI*ir*ir;

if(farea>100)

break;

else

printf("area=%f\n",farea);

}

}

12.一个数如果恰好等于它的因子之和,这个数就称为“完数”。

例如,6的因子为1、2、3,而6=1+2+3,因此6是“完数”。

编程序找出1000之内的所有完数。

#include

voidmain()

{

intii,ij,isum;

for(ii=2;ii<1000;ii++)

{

isum=0;

for(ij=1;ij

if(ii%ij==0)

isum=isum+ij;

if(isum==ii)

printf("%d",ii);

}

}

13.有一个四位正整数,如果把它们的首尾互换,第二位与第三位互换,组成一个新的四位数。

原四位数为新四位数的4倍,请找出一个这样的四位数。

#include

voidmain()

{

intii,ia,ib,ic,id;

for(ii=1000;ii<10000;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.编程序求5X+2Y+Z=50的所有非负整数解。

#include

voidmain()

{

intix,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=%d\n",ix,iy,iz);

}

15.编一个程序,把一批非零整数中的偶数、奇数的平均值分别计算出来。

用零作为终止标记。

#include

voidmain()

{

intii,im=0,in=0,ia;

floatisum1=0,isum2=0,iave1,iave2;

for(ii=1;;ii++)

{

scanf("%d",&ia);

if(ia==0)

break;

if(ia%2==0)

{

isum1=isum1+ia;

im++;

}

else

{

isum2=isum2+ia;

in++;}

}

printf("averageofevenis%f,averageofoddis%f\n",isum1/im,isum2/in);

}

16.某单位排队形,开始排成3路纵队,末尾多出了2人。

后改成5路纵队,末尾又多出了3人,最后改成7路纵队,正好没有余数。

编程序求出该单位至少有多少人。

#include

voidmain()

{

intii;

for(ii=7;;ii++)

{

if(ii%7==0&&ii%3==2&&ii%5==3)

{

printf("numberis%d\n",ii);

break;

}

}

}

17.个位数是6,且能被3整除的五位数共有多少个。

#include

voidmain()

{

longintii;

intia,in=0;

for(ii=10000;ii<100000;ii++)

{

ia=ii%10;

if(ia==6&&ii%3==0)

{

printf("%ld",ii);

in++;

}

}

printf("numberis%d\n",in);

}

18.求100至200之间能同时被6和8整除的数,把这些数打印出来,并且打印这些数的和。

#include

voidmain()

{

intii,isum=0;

for(ii=100;ii<=200;ii++)

{

if(ii%6==0&&ii%8==0)

{

printf("%d",ii);

isum=isum+ii;

}

}

printf("sum=%d\n",isum);

}

19.打印200到300之间所有的素数。

#include

voidmain()

{

intim,i

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 艺术

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1