c语言程序阅读练习.docx

上传人:b****8 文档编号:9804597 上传时间:2023-05-21 格式:DOCX 页数:139 大小:68.15KB
下载 相关 举报
c语言程序阅读练习.docx_第1页
第1页 / 共139页
c语言程序阅读练习.docx_第2页
第2页 / 共139页
c语言程序阅读练习.docx_第3页
第3页 / 共139页
c语言程序阅读练习.docx_第4页
第4页 / 共139页
c语言程序阅读练习.docx_第5页
第5页 / 共139页
c语言程序阅读练习.docx_第6页
第6页 / 共139页
c语言程序阅读练习.docx_第7页
第7页 / 共139页
c语言程序阅读练习.docx_第8页
第8页 / 共139页
c语言程序阅读练习.docx_第9页
第9页 / 共139页
c语言程序阅读练习.docx_第10页
第10页 / 共139页
c语言程序阅读练习.docx_第11页
第11页 / 共139页
c语言程序阅读练习.docx_第12页
第12页 / 共139页
c语言程序阅读练习.docx_第13页
第13页 / 共139页
c语言程序阅读练习.docx_第14页
第14页 / 共139页
c语言程序阅读练习.docx_第15页
第15页 / 共139页
c语言程序阅读练习.docx_第16页
第16页 / 共139页
c语言程序阅读练习.docx_第17页
第17页 / 共139页
c语言程序阅读练习.docx_第18页
第18页 / 共139页
c语言程序阅读练习.docx_第19页
第19页 / 共139页
c语言程序阅读练习.docx_第20页
第20页 / 共139页
亲,该文档总共139页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

c语言程序阅读练习.docx

《c语言程序阅读练习.docx》由会员分享,可在线阅读,更多相关《c语言程序阅读练习.docx(139页珍藏版)》请在冰点文库上搜索。

c语言程序阅读练习.docx

c语言程序阅读练习

C语言第1章

[例1.3]求2个数中较大者

#include

voidmain()

{

intmax(intx,inty);

inta,b,c;

scanf("%d,%d",&a,&b);

c=max(a,b);

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

}

intmax(intx,inty)

{

intz;

if(x>y)z=x;

elsez=y;

return(z);

}

1.5编写一个C程序,输出以下信息:

*****************************

Verygood!

*****************************

//chapter1.cpp:

Definestheentrypointfortheconsoleapplication.

//

#include"stdafx.h"

intmain(intargc,char*argv[])

{

printf("******************\n");

printf("Verygood!

\n");

printf("******************\n");

return0;

}

1.6编写一个C程序,输入a、b、c3个值,输出其中最大者。

//chapter1.cpp:

Definestheentrypointfortheconsoleapplication.

//

#include"stdafx.h"

intmax(inta,intb,intc)

{

inttemp;

temp=a;

if(temp

temp=b;

if(temp

temp=c;

returntemp;

}

intmain(intargc,char*argv[])

{

inta,b,c;

scanf("%d%d%d",&a,&b,&c);

printf("max=%d\n",max(a,b,c));

return0;

}

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

C语言第2章

[例2.1]求1×2×3×4×5

[例2.2]有50个学生,要求将他们之中成绩在80分以上的学号和成绩输出

[例2.3]判定2000-2500年中的每一年是否是闰年

[例2.4]求1-1/2+1/3-1/4+…+1/99-1/100

[例2.5]对一个大于或等于3的正整数,判断它是不是一个素数

[例2.6]将例2.1求5!

的算法用流程图表示

[例2.7]将例2.2的算用流程图表示。

将50名学生中成绩在80分以上者的学号和成绩输出

[例2.8]将例2.3判定闰年的算法用流程图表示

[例2.16]将例2.11表示的算法(求5!

)用C语言表示

#include

main()

{

inti,t;

t=1;

i=2;

while(i<=5)

{

t=t*i;

i=i+1;

}

printf(“%d”,t);

}

例2.17]求例2.14表示的算法(求级数的值)求1-1/2+1/3+…+1/99-1/100

用C语言表示

#include

main()

{

intsign=1;

floatdeno=2.0,sum=1.0,term;

while(deno<=100)

{

sign=-sign;

term=sign/deno;

sum=sum+term;

deno=deno+1;

}

printf(“%f”,sum);

}

2.4用传统流程图表示求解以下问题的算法

(1)有两个瓶子A和B,分别盛放醋和酱油,要求将它们互换。

#include"stdafx.h"

intmain(intargc,char*argv[])

{

intA;

intB;

A=1;

B=2;

printf("A=%dB=%d\n",A,B);

intC;

C=A;

A=B;

B=C;

printf("A=%dB=%d\n",A,B);

return0;

}

(2)依次将10个数输入,要求将其中最大的数输出

#include"stdafx.h"

intmain(intargc,char*argv[])

{

inta;

intmax;

scanf("%d",&a);

max=a;

for(inti=2;i<=10;i++)

{

scanf("%d",&a);

if(a>max)

{

max=a;

}

}

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

return0;

}

(3)有3个数a、b、c,要求按大小顺序把它们输出

#include"stdafx.h"

intmain(intargc,char*argv[])

{

inta,b,c;

inttemp;

scanf("a=%db=%dc=%d",&a,&b,&c);

if(a>b)

{

temp=a;

a=b;

b=temp;

}

if(b>c)

{

temp=b;

b=c;

c=temp;

}

if(a>b)

{

temp=a;

a=b;

b=temp;

}

printf("a=%db=%dc=%d\n",a,b,c);

return0;

}

(4)求1+2+3+……+100

#include"stdafx.h"

intmain(intargc,char*argv[])

{

intsum;

sum=0;

for(inti=1;i<=100;i++)

{

sum=sum+i;

}

printf("1+2+3+...+100=%d\n",sum);

return0;

}

(5)判断一个数n能否同时被3和5整除

#include

intmain(intargc,char*argv[])

{

intn;

scanf("n=%d",&n);

if(n%3==0&&n%5==0)

{

printf("%d能够被3和5同时整除\n",n);

}

else

{

printf("%d不能够被3和5同时整除\n",n);

}

return0;

}

(6)将100-200之间的素数输出

#include

#include

intjudge(intn)

{

intw;

w=0;

for(inti=2;i<=sqrt(n);i++)

{

intr;

r=n%i;

if(r==0)

{

w=1;

break;

}

}

returnw;

}

intmain(intargc,char*argv[])

{

intn;

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

{

if(judge(n)==0)

{

printf("%d是素数\n",n);

}

else

{

printf("%d不是素数\n",n);

}

}

return0;

}

(7)求两个数m和n的最大公约数

#include

intmain(intargc,char*argv[])

{

intm,n;

intmin;

scanf("%d%d",&m,&n);

if(m

{

min=m;

}

else

{

min=n;

}

for(inti=min;i>=1;i--)

{

if(m%i==0&&n%i==0)

{

printf("%d是%d和%d的最大公约数\n",i,m,n);

break;

}

}

return0;

}

(8)求方程式ax2+bx+c=0的根。

分别考虑:

有两个不等的实根;有两个相等的实根

#include

#include

intmain(intargc,char*argv[])

{

floata,b,c;

scanf("a=%fb=%fc=%f",&a,&b,&c);

floatdisc;

disc=b*b-4*a*c;

if(disc>0)

{

printf("x1=%f\n",(-b+sqrt(disc))/(2*a));

printf("x2=%f\n",(-b-sqrt(disc))/(2*a));

}

if(disc==0)

{

printf("x=%f",-b/(2*a));

}

if(disc<0)

{

printf("方程没有实根");

}

return0;

}

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

C语言第3章

[例3.7]大小写字母的转换

#include

voidmain()

{

charc1,c2;

c1='a';

c2='b';

c1=c1-32;

c2=c2-32;

printf("%c%c",c1,c2);

}

3.6写出以下程序的运行结果:

#include

voidmain()

{

charc1=‘a’,c2=‘b’,c3=‘c’,c4=‘\101’,c5=‘\116’;

printf(“a%cb%c\tc%c\tabc\n”,c1,c2,c3);

printf(“\t\b%c%c\n”,c4,c5);

}

3.7要将“China”译成密码,密码规律是:

用原来的字母后面第4个字母代替原来的字母。

例如,字母“A”后面第4个字母是”E“,用”E“代替”A”。

因此,“China”应译为“Glmre”。

请编一程序,用赋初值的方法使c1、c2、c3、c4、c5这5个变量的值分别为’C‘、’h‘、’I‘、’n’、‘a’,经过运算,使c1、c2、c3、c4、c5分别变为‘G’、‘l’、‘m’、‘r’、‘e’,并输出。

#include

intmain(intargc,char*argv[])

{

charc1,c2,c3,c4,c5;

c1='C';

c2='h';

c3='i';

c4='n';

c5='a';

printf("%c%c%c%c%c\n",c1,c2,c3,c4,c5);

c1+=4;

c2+=4;

c3+=4;//c3=c3+4

c4+=4;

c5+=5;

printf("%c%c%c%c%c\n",c1,c2,c3,c4,c5);

}

3.8例3.6能够改成如下:

#include

voidmain()

{

intc1,c2;

c1=97;

c2=98;

printf(“%c%c\n”,c1,c2);

printf(“%d%d\n”,c1,c2);

}

3.9求下面算术表达式的值

(1)x+a%3*(int)(x+y)%2/4

设x=2.5,a=7,y=4.7

(2)(float)(a+b)/2+(int)x%(int)y

设a=2,b=3,x=3.5,y=2.5

#include

main()

{

floatx=2.5;

inta=7,b;

floaty=4.7;

printf("%lf\n",x+a%3*(int)(x+y)%2/4);

//2.5

a=2;

b=3;

x=3.5;

y=2.5;

printf("%lf\n",(float)(a+b)/2+(int)x%(int)y);

//3.5

}

3.10写出下面程序的运行结果

#include

voidmain()

{

inti,j,m,n;

i=8;

j=10;

m=++i;

n=j++;

printf(“%d,%d,%d,%d\n”,i,j,m,n);

}

3.11写出下面赋值的结果

#include

main()

{

inti=99;

charc;

unsignedintui;

floatf;

longintli;

c=i;//c='c'

ui=i;//ui=99

f=i;//f=99.0

li=i;//li=99

printf("c=%c\n",c);

printf("ui=%u\n",ui);

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

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

}

3.12写出下面赋值表达式运算后a的值,设原来a=12:

(1)a+=a

(2)a-=2

(3)a*=2+3

(4)a/=a+a

(5)a%=(n%=2),n的值等于5

(6)a+=a-=a*=a

#include

main()

{

inta=12;

printf("a+=a%d\n",a+=a);//a=a+a

printf("a-=2%d\n",a-=2);//a=a-2

printf("a*=2+3%d\n",a*=2+3);//a=a*(2+3)=22*5

printf("a/=a+a%d\n",a/=a+a);//a=a/(a+a)

intn=5;

printf("a%=(n%=2)%d\n",a%=(n%=2));//a=a%

printf("a+=a-=a*=a%d\n",a+=a-=a*=a);

}

/*

1)a+=a

(2)a-=2

(3)a*=2+3

(4)a/=a+a

(5)a%=(n%=2),n的值等于5

(6)a+=a-=a*=a

*/

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

C语言第4章

[例4.1]输出单个字符

#include

voidmain()

{

chara,b,c;

a=‘B’;b=‘O’;c=‘Y’;

putchar(a);putchar(b);putchar(c);putchar(‘\n’);

}

[例4.2]输入单个字符

#include

voidmain()

{

charc;

c=getchar();

putchar(c);

putchar(‘\n’);

}

[例4.3]无符号数据的输出

#include

voidmain()

{

unsignedinta=65535;

intb=-2;

printf(“a=%d,%o,%x,%u\n”,a,a,a,a);

printf(“b=%d,%o,%x.%u\n”,b,b,b,b);

}

[例4.5]字符串的输出

#include

voidmain()

{

printf(“%3s,%7.2s,%.4s,%-5.3s\n”,

”CHINA”,”CHINA”,”CHINA”,”CHINA”);

}

[例4.6]输出实数时的有效位数

#include

voidmain()

{

floatx,y;

x=111111.111;

y=222222.222;

printf(“%f\n”,x+y);

}

[例4.7]输出双精度数时的有效位数

#include

voidmain()

{

doublex,y;

x=1111111111111.111111111;

y=2222222222222.222222222;

printf(“%f\n”,x+y);

}

[例4.9]用scanf函数输入数据

#include

voidmain()

{

inta,b,c;

scanf(“%d%d%d”,&a,&b,&c);

printf(“%d,%d,%d\n”,a,b,c);

}

[例4.10]输入三角形的三边长,求三角形面积

其中s=(a+b+c)/2

#include

main()

{

floata,b,c,s,area;

scanf(“%f,%f,%f”,&a,&b,&c);

s=1.0/2*(a+b+c);

area=sqrt(s*(s-a)*(s-b)*(s-c));

printf(“a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f\n”,a,b,c,s);

printf(“area=%7.2f\n”,area);

}

[例4.11]从键盘输入一个大写字母,要求改用小写字母输出

#include

voidmain()

{

charc1,c2;

c1=getchar();

printf(“%c,%d\n”,c1,c1);

c2=c1+32;

printf(“%c,%d\n”,c2,c2);

}

[例4.12]求ax2+bx+c=0方程的根。

a,b,c由键盘输入,设b2-4ac>0

#include

main()

{

floata,b,c,disc,x1,x2,p,q;

scanf(“a=%f,b=%f,c=%f”,&a,&b,&c);

disc=b*b-4*a*c;

p=-b/(2*a);

q=sqrt(disc)/(2*a);

x1=p+q;

x2=p-q;

printf(“x1=%5.2f\nx2=%5.2f\n”,x1,x2);

}

4.8输入圆半径,求圆周长、圆面积。

用scanf输入数据,输出计算结果,输出时要求有文字说明,取小数点后2位数字。

请编程序。

#include

voidmain()

{

floatr;

scanf("%f",&r);

printf("圆的半径=%.2f\n",r);

printf("圆的面积=%.2lf\n",3.14*r*r);

printf("圆的周长=%.2lf\n",3.14*r*2);

}

4.9输入一个华氏温度,要求输出摄氏温度。

公式为c=5/9*(F-32)。

输出要有文字说明,取2位小数。

#include

voidmain()

{

floatF;

scanf("%f",&F);

doublec;

c=5.0/9*(F-32);

printf("华式温度=%f对应的摄氏温度%lf=\n",F,c);

}

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

C语言第5章

[5.1]输入两个实数,按代数值由小到大的顺序输出这两个数

#include

voidmain()

{

floata,b,t;

scanf(“%f,%f”,&a,&b);

if(a>b)

{

t=a;a=b;b=t;

}

printf(“%5.2f,%5.2f\n”,a,b);

}

[例5.2]输入3个数a、b、c,要求按由小到大的顺序输出

#include

voidmain()

{

floata,b,c,t;

scanf(“%f,%f,%f”,&a,&b,&c);

if(a>b){t=a;a=b;b=t;}

if(a>c){t=a;a=c;c=t;}

if(b>c){t=b;b=c;c=t;}

}

[例5.3]编程,输入x值,输出y值,函数:

-1(x<0)

y=

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

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2