vc第四章作业4解答_第1页
vc第四章作业4解答_第2页
vc第四章作业4解答_第3页
vc第四章作业4解答_第4页
vc第四章作业4解答_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

11、课后练习4.3、4.4、4.5、4.6、4.72、先接收从键盘输入的一个百分制成绩,然后输出对应的四个等级的成绩。转换规则如下:90—100 A;75—89

B; 60—74

C;

<60

D用if和switch做。3、计算3+7+11+······+(4*n-1)4、计算7+72+73+······+7n5、输出100——200中所有不能被3和5整除的数6、输出1—999所有同构数(出现在它的平方数右侧)如:5出现在25右侧,25出现在625右侧7、课后练习4.19、4.21、4.228、计算下面若干个数的和:13.8、-65、68.9、······、342.987,并统计个数(个数≤100)9、用牛顿迭带法求方程2x3-4x2+3x-6=0在1.5附近的根。10、在范围在4-1000之间编程验证歌德巴赫猜想:任意一个充分大的偶数n(n≥4),都能够分解为两个素数之和。11、先输入数字k(0<k<10),再将输入的一行字符中的英文字母按照其后续的k个字母输出,字母超出最后一个“Z”或“z”时,循环转换,数字不转换。请编程实现。234.3输入一个整数,判断它能否被3或7整除,若能整除,输出“YES”,否则输出“NO”。#include

<stdio.h>int

main(){

int

n;scanf("%d",&n);/*判断能否被3或7整除*/if

(n%3==0||n%7==0)printf("YES\n");elseprintf("NO\n");return

0;}4#include

<stdio.h>#include

<math.h>int

main(){ float

x,a,y;printf

("\nPlease

input

x,a:

");scanf("%f,%f",&x,&a);/*或fabs(x)<a

*//*或fabs(x)==a

*//*或fabs(x)>a*/if

(x>-a&&x<a)y=sqrt(a*a-x*x);if

(x==a

||

x==

-a)y=0;if

(x<-a

||

x>a

)y=x-1;printf("x=%g,a=%g,y=%g\n",x,a,y);

return

0;}

y

a

24.4

x

2

a

x

a)0

(x

a或x

a)x

1

(x

a或x

a)54.5

输入四个不相等的数,找出其中的最小数。#include

<stdio.h>int

main(){

int

a,b,c,d,min;printf("\nPlease

input

4

numbers:");scanf("%d%d%d%d",&a,&b,&c,&d);min=a;

/*

先假设a为最小数min

*/if

(b<min)

min=b;if

(c<min)

min=c;if

(d<min)

min=d;/*

若b比min小,min改为b

*//*

若c比min小,min改为c

*//*

若d比min小,min改为d

*/printf("The

minimum

number

is:%d\n",min);return

0;}4.6输入三个整数,分别放入x,y,z中,要求程序把数据重新按从小到大的顺序放入x,y,z中,然后输出x,y,z中的值。#include

<stdio.h>int

main(){

int

x,y,z,t;scanf("%d%d%d",&x,&y,&z);if

(x>y){t=x;x=y;y=t;}

/*交换x,y的值*/if(x>z){t=z;z=x;x=t;}

/*交换x,z的值*/if(y>z){t=y;y=z;z=t;}

/*交换z,y的值*/printf("small

to

big:

%d

%d

%d\n",x,y,z);return

0;}4.7

输入一个不多于4位的正整数,求它的位数,并按逆序输出各位数字。#include

<stdio.h>int

main(){

int

i,

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

(i<=9)n=1;

/*求i的位数*/else

if

(i<=99)n=2;else

if

(i<=999)

n=3;else

n=4;printf("There

are

%d

digits.\n",n);a=i%10;b=i/10%10;/*

求i的个位数*//*

求i的十位数*//*

求i的百位数*//*求i的千位数*/c=i/100%10;d=i/1000%10;switch

(n){

case

1:

printf("%d\n",

a);

break;case

2:

printf("%d,%d\n",

a,b);

break;case

3:

printf("%d,%d,%d\n",

a,b,c);

break;case

4:

printf("%d,%d,%d,%d\n",

a,b,c,d);

}return

0;}8先接收从键盘输入的一个百分制成绩,然后输出对应的四个等级的成绩。转换规则如下:C;

<60

D90—100

A;75—89

B;

60—74方法一(if):#include

<stdio.h>int

main(){ int

score;printf("please

input

score\n");scanf("%d",&score);if(score>100||score<0)

/*出错判断*/printf("score

is

error!\n");else

if(score>=90)

printf("A\n");

else

if(score>=75)

printf("B\n");else

if(score>=60)

printf("C\n");else

printf("D\n");

return

0;}9方法二(switch):#include

<stdio.h>int

main(){ int

score;scanf("%d",&score);if(score>100||score<0)

printf("score

is

error!\n");else

{

switch(score/15){

case

0:case

1:case

2:case

3:printf("D\n");break;case

4:printf("C\n");break;case

5:printf("B\n");break;case

6:printf("A\n");break;

}}return

0;}10计算3+7+11+······+(4*n-1)#include

<stdio.h>intmain(){ int

i=1,n,s=0;printf("please

input

n\n");scanf("%d",&n);while(i<=n){s=s+4*i-1;i++;}printf("3+7+11+...+(4*n-1)=%d\n",s);return

0;}11计算7+72+73+······+7n#include

<stdio.h>intmain(){ int

i=1,n;long

t=1,s=0;printf("please

input

n:\n");scanf("%d",&n);while(i<=n){

t*=7;s+=t;i++;}printf("7+7*7+7*7*7+...=%ld\n",s);return

0;}12输出100——200中所有不能被3和5整除的数#include

<stdio.h>int

main(){ int

i=100,k=0;while(i<=200){if(i%3!=0&&i%5!=0){printf("%5d",i);k++;/*算出不能被3整除的数的个数*/}if(k%10==0)printf(“\n”);

/*每输出10个数换行*/i++;}return

0;}13输出1—999所有同构数(出现在它的平方数右侧)如:5出现在25右侧,25出现在625右侧int

main

(

){

long k=1

,

m

,

n

;while(k<=999){m=k*k

;if(k<10)n=m%10

;elseif(k<100)n=m%100

;else

n=m%1000

;if(k==n)printf(”%ld\n”,k);k++;}return

0;}k为一位数k为2位数结果:1562576376625k为3位数1253612557761413763906254.19输入x值,按照下列公式计算cos(x)的值,直到最后一项小于10-6为止。#include<stdio.h>#include<math.h>int

main(){ float

sum

,

term=1,x

;

int k=1

,sign=1;printf("please

input

x:");scanf

("%f",&x

)

;sum=1;

/*第一项直接赋值*/while(

fabs(term)>=1e-6){

k=k+2;term*=x*x

/k

/

(k-1)

;/*计算单项值*/sign=-sign

;

/*符号变量,用来实现正负号转换*/sum+=

sign*

term

;

/*累加*/

}printf

("sum

=%6.2f\n"

,

sum

)

;

return

0;}x

2

x

4

x

6cos(x)

1

,2!

4!

6!154.21

编写输出如下字母塔的程序:

#include<stdio.h>#include<math.h>int

main(){

int

a,b;for

(a=1;a<=26;a++)

/*循环26次,输出26行*/{for(

b=1;b<=26-a;b++)

printf("");/*输出每行左边的空格*/for(b=1;b<=a;b++)

printf("%c",b+64);/*输出每行左边(包括中间)的字母*/for(b=a-1;b>=1;b--)printf("%c",b+64);/*输出每行右边(不包括中间)的字母*/printf("\n");

/*每行输出以后换行*/return

0;}4.22“鸡兔同笼”:笼中有若干只鸡和兔子,它们共有88个头,244只脚,问鸡和兔各有多少只?#incl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论