久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

c語言程序設計(科學出版社)課后習題解答

時間:2019-05-12 23:26:13下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《c語言程序設計(科學出版社)課后習題解答》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《c語言程序設計(科學出版社)課后習題解答》。

第一篇:c語言程序設計(科學出版社)課后習題解答

第3章習題解答

第1章

1.C 語言程序主要由預處理命令、函數(shù)、注釋等組成。

2.填空

(1)分號

(2)main(3)stdio.h 3.源程序:

#include main(){

printf(“*************************n”);printf(“Hello World!n”);

printf(“*************************”);} 4.源程序:

#include main(){

int a, b, c;/* 定義變量 */

scanf(“%d”, &a);/* 輸入第一個整數(shù) */ scanf(“%d”, &b);/* 輸入第二個整數(shù) */ c=a-b;/*

計算差 */

printf(“%d-%d=%d”,a,b,c);/* 輸出結果 */ } 5.(1)(2)x=10;

(3)printf(“s=%dn”,s);

第2章

1.(1)c(2)a(3)b g(4)a d e(5)d

2.a.5 b.295

c.4 d.29 e.9 3.a.x=4,y=6

b.x=4,y=3 f.x=3,y=6 4.16 5.#include main(){

int a,b,c;

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

printf(“%d*%d=%d”,a,b,c);}

第3章

1.(1)b(2)b(3)d(4)a(5)b 2.(1)&a,&b(2)l,s

3.printf(“x=%.2f,y=%.2fn”,x,y);

4.#include main(){

int num1,num2,num3,sum;

float average;

scanf(“%d%d%d”,&num1,&num2,&num3);

sum=num1+num2+num3;

average=sum/3.0;

printf(“sum=%d,average=%.2fn”,sum,average);} 5.#include main(){

int hour,minute,second,total;/* 定義變量代表時、分、秒和總秒數(shù) */

scanf(“%d”,&total);

hour=total/3600;

minute=total%3600/60;

second=total%3600%60;

printf(“%dhours:%dminutes:%dsecondsn”,hour,minute,second);}

第4章

1.(1)a(2)b(3)b(4)b

(5)b 2.0 3.(1)6(2)4(3)1(4)1 4.#include main(){

int x,y;

scanf(“%d”,&x);

if(x>-5 && x<0)

y=5*x;

if(x == 0)

y=-1;

if(x>0 && x<10)

y=2*x+1;

printf(“x=%d,y=%dn”,x,y);} 5.#include main(){

int score,rank;/* score 表示成績,rank 表示級別 */

printf(“Please input score:”);

scanf(“%d”,&score);

rank=score/10;

switch(rank)

{

case 10:

case 9: printf(“成績等級為:An”);break;

case 8: printf(“成績等級為:Bn”);break;

case 7: printf(“成績等級為:Cn”);break;

case 6: printf(“成績等級為:Dn”);break;

default:printf(“成績等級為:En”);break;

} } 6.#include void main(){

int n;

printf(“Please input the digit:”);

scanf(“%d”,&n);

switch(n)

{

case 1:printf(“Jan n”);break;

case 2:printf(“Feb n”);break;

case 3:printf(“Mar n”);break;

case 4:printf(“Apr n”);break;

case 5:printf(“May n”);break;

case 6:printf(“Jun n”);break;

case 7:printf(“Jul n”);break;

case 8:printf(“Agu n”);break;

case 9:printf(“Sep n”);break;

case 10:printf(“Oct n”);break;

case 11:printf(“Nov n”);break;

case 12:printf(“Dec n”);break;

} }

第5章

1.(1)b(2)a(3)b(4)d(5)d 2.7,1 3.y=-1 4.m=6 5.10,14 6.3 7.5

8.ABABCDCD 9.# include main(){

int i;

long int sum=0;

for(i=2;i<=200;i+=2)

sum+=i;

printf(“2+4+6+...+200=%ld”,sum);} 10.#include main(){

long int n;

int sum = 0;

printf(“Please input the nber:”);

scanf(“%ld”,&n);

while(n!= 0)

{

sum += n % 10;

n /= 10;

}

printf(“%dn”, sum);}

第6章

1.(1)d(2)b(3)d(4)c

(5)a 2.11 3.3 4.5689 5.12,6

6.(1)i--(2)n

7.(1)char k;

(2)i main(){

float a[10];

int i;

float sum=0,average;

for(i=0;i<10;i++)

{

printf(“a[%d]=?”,i);

scanf(“%f”,&a[i]);

sum+=a[i];

}

average=sum/10;

printf(“average is %.2fn”,average);} 9.#include #define N 10 main(){

int a[N],i,target,found;

for(i=0;i

scanf(“%d”,&a[i]);

printf(“Please input a number:”);

scanf(“%d”,&target);

i=0;

while(i

i++;

found = i

printf(“%dn”,found);} 10.#include #define N 80 main(){

char str[N];

int len=0,i=0;

printf(“Please input a string:”);

gets(str);

while(str[i++]!= 0)len++;

printf(“the length of string is %d.n”,len);}

第7章

1.21

2.136 3.16

4.(1)func

(2)m++

5.9

6.1,6,3,2,3 7.2,5,1,2,3,-2 8.#include int fun(int a,int b,int c);main(){

int a,b,c,max;

printf(“Please input three numbers:”);

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

max=fun(a,b,c);

printf(“Max is %d.n”,max);}

int fun(int a,int b,int c){

int max;

max= a>b?(a>c?a:c):(b>c?b:c);

return max;} 9.#include long int sum(int n);main(){

int n;

printf(“n=?”);

scanf(“%d”,&n);

printf(“Sum=%ld.n”,sum(n));}

long int sum(int n){

if(n = = 1)return 1;

else return sum(n-1)+n;} 10.#include void fun(n);main(){

int n;

printf(“n=?”);

scanf(“%d”,&n);

fun(n);

}

void fun(n){

if(n = = 0)return;

else

{

fun(n/2);

printf(“%-2d”,n%2);

} }

第8章

1.(1)b(2)d(3)b(4)c(5)c 2.8

3.123456789 4.2 3 4 5 6 5.345

6.1 2 3 4 5 6 7.b[i]

8.bcdefgha 9.p=sum 10.#include #include main()

{

char str[80];

char *p1, *p2;gets(str);p1=str;

p2=str+strlen(str)-1;

while(p1

puts(p1

}

第9章

1.a.#define F(x)(x)*(x)*(x)b.#define F(x)(x)%4

c.#define F(x,y)(x)*(y)<100?1:0 2.a.4 b.4

c.#define DOUBLE(x)2*(x)3.d 4.-20

5.N is undefined 6.7.5 7.y=6 8.#include

#define SWAP(a,b){int temp;temp=a;a=b;b=temp;} main(){

int x,y;

printf(“x=?”);

scanf(“%d”,&x);

printf(“y=?”);

scanf(“%d”,&y);

SWAP(x,y)

printf(“x=%d,y=%d.n”,x,y);}

第10章

1.struct student{

int sno;

char sname[10];

char sex;}stu1,stu2;2.12

3.合法的有a,b,d

c.改成 s.u.rectangle.length=25;

e.改成 s.u.circle.radius=5;

f.改成 s.u.circle.radius=5;

4.a,b,c,d(說明:變量 b 有確定的值之后,b++是合法的。)5.改為

typedef struct product {

char name[10];float price;}PRODUCT;

PRODUCT products[10];

6.(1)struct employee(2)printemp(emp)7.2 4 3 9 8 8.#include struct time_struct {

int hour;

int minute;

int second;};

main(){

struct time_struct time;

printf(“Input time?n(Example 18:28:38)n”);

scanf(“%d:%d:%d”,&time.hour,&time.minute,&time.second);

printf(“Time is %d:%d:%dn”,time.hour,time.minute,time.second);} 9.#include struct time_struct {

int hour;

int minute;

int second;}time;

void enter_time();void display_time();main(){

enter_time();

display_time();}

void enter_time(){

printf(“Enter the time(example 18:28:38)?”);

scanf(“%d:%d:%d”,&time.hour,&time.minute,&time.second);}

void display_time(){

printf(“Time is %d:%d:%d.n”,time.hour,time.minute,time.second);} 10.#include #define N 3 struct hotel {

char name[31];/*旅館名稱*/

char address[31];/*旅館地址*/

int grade;/*旅館級別*/

float average_charge;/*平均房價*/

int number;/*房間數(shù)量*/ }h[N]={

{“h1”,“上海路”,5,500.00,80}, {“h2”,“北京大街”,5,480.00,70}, {“h3”,“南京大街”,3,300.50,100} };

main(){

int grade,i;

printf(“請輸入級別(3-5)?”);

scanf(“%d”,&grade);

for(i=0;i

if(h[i].grade==grade)

printf(“名稱:%sn 地址:%sn 級別:%dn平均房價%.2fn 房間數(shù)量:%dn”,h[i].name,h[i].address,h[i].grade,h[i].average_charge,h[i].number);}

第11章

1.(1)c

(2)d(3)b(4)b(5)b

2.Basican 3.fgetc(fp)

4.“record.dat”, “w” 5.#include #include #include

typedef struct Employee {

int id;

char name[20];

char gender[20];

int age;

char address[20];}Employee;

int main(void){

FILE *fp;

char another,choice;

Employee emp;

long int recsize;

fp=fopen(“employee.dat”,“rb+”);

if(fp==NULL)

{

fp=fopen(“employee.dat”,“wb+”);

if(fp==NULL)

{

printf(“Can't Open File”);

exit(0);

}

}

recsize=sizeof(emp);

while(1)

{

printf(“1.添加記錄 2.顯示男員工 3.退出n”);

printf(“Enter your choice(1-3):”);

fflush(stdin);

scanf(“%c”,&choice);

switch(choice)

{

case'1':

fseek(fp,0,SEEK_END);

another='Y';

while(another=='Y'|| another=='y')

{

printf(“輸入信息(id 姓名

性別

年齡 住址):n”);

scanf(“%d %s %s %d

%s”,&emp.id,&emp.name,&emp.gender,&emp.age,&emp.address);

fwrite(&emp,recsize,1,fp);

printf(“是否繼續(xù)(Y/N): ”);

fflush(stdin);

another=getchar();

}

break;

case '2':

printf(“學號t 姓名t性別t 年齡t住址n”);

rewind(fp);

while(fread(&emp,recsize,1,fp)==1)

if(strcmp(emp.gender,“男”)==0)

printf(“%dt%st%st%dt%sn”,emp.id,emp.name,emp.gender,emp.age,emp.address);

break;

case '3':

fclose(fp);

exit(0);

}

} } 6.#include“stdio.h” #include“stdlib.h” #define M 2

#define stu struct student stu {

int num;

char name[20];

float s1;

float s2;

float s3;

float avg;};main(){

stu st[M];

FILE *fp;

int i;

printf(“請輸入 5 名同學生的成績,按照學號,姓名,成績 1,成績2,成績 3 的順序,中間用空格隔

開:n”);

for(i=0;i

{

scanf(“%d%s%f%f%f”,&st[i].num,st[i].name,&st[i].s1,&st[i].s2,&st[i].s3);

st[i].avg=(st[i].s1+st[i].s2+st[i].s3)/3;

} if((fp=fopen(“stud.rec”,“wb”))==NULL)

{

printf(“cannot open filen”);

}

for(i=0;i

{

if(fwrite(&st[i],sizeof(stu),1,fp)!=1)

printf(“file write errorn”);

}

fclose(fp);

fp=fopen(“stud.rec”,“rb”);

printf(“numtnametscore1tscore2tscore3taveragen”);

for(i=0;i

{

fread(&st[i],sizeof(stu),1,fp);

printf(“%dt%st%.2ft%.2ft%.2ft%.2fn”,st[i].num,st[i].name,st[i].s1,st[i].s2,st[i].s3,st[i].avg);

}

fclose(fp);}

第12章

1.a.2 b.4 c.11 d.4 e.-15 f.28 g.-36 2.程序設計分析:先將整數(shù)x 右移4 位,將該整數(shù)機內(nèi)碼的第4 到7 位移至第0 到3 位,然后與0x000f(***1)進行位與運算,所保留的低4 位就是所要的結果

#include void main(){

int x,y;

scanf(“%d”,&x);

y=x>>4;y=y&0x000f;

printf(“4~7位的十六進制數(shù):y=%#xn”,y);} 3.d

4.(1)p!=NULL

(2)p=p->next 5.p=p->next

6.略

第二篇:C語言課后習題解答

第七章 函數(shù)調(diào)用 7-1 寫兩個函數(shù),分別求兩個整數(shù)的最大公約數(shù)和最小公倍數(shù),#include

void main(){ int hcf(int,int);int lcd(int,int,int);

int u,v,h,l;scanf(“%d,%d”,&u,&v);

h=hcf(u,v);printf(“H.C.F=%dn”,h);

l=lcd(u,v,h);printf(“L.C.D=%dn”,l);}

int hcf(int u,int v){ int t,r;if(v>u){

t=u;

u=v;

v=t;} while((r=u%v)!=0){

u=v;

v=r;} return(v);}

int lcd(int u,int v,int h){ return(u*v/h);} 7-2 求方程ax*x+bx+c=0的根,用3個函數(shù)分別求當b*b-4ac大于0,等于0、小于0時的根并輸出結果。從主函數(shù)輸入abc的值。

#include #include float x1,x2,disc,p,q;

void main(){ void greater_than_zero(float,float);void equal_to_zero(float,float);void smaller_than_zero(float,float);float a,b,c;printf(“input a,b,c:”);scanf(“%f,%f,%f”,&a,&b,&c);

printf(“equation: %5.2f*x*x+%5.2f*x+%5.2f=0n”,a,b,c);disc=b*b-4*a*c;printf(“root:n”);if(disc>0){

greater_than_zero(a,b);

printf(“x1=%fttx2=%fn”,x1,x2);} else if(disc==0){

equal_to_zero(a,b);

printf(“x1=%fttx2=%fn”,x1,x2);} else {

smaller_than_zero(a,b);

printf(“x1=%f+%fitx2=%f-%fin”,p,q,p,q);} }

void greater_than_zero(float a,float b){ x1=(-b+sqrt(disc))/(2*a);x2=(-b-sqrt(disc))/(2*a);} void equal_to_zero(float a,float b){ x1=x2=(-b)/(2*a);}

void smaller_than_zero(float a,float b){ p=-b/(2*a);q=sqrt(-disc)/(2*a);}

7-3 寫一個判斷素數(shù)的函數(shù),在主函數(shù)輸入一個整數(shù),輸出是否素數(shù)的信息。

#include

void main(){ int prime(int);int n;printf(“ninput an integer:”);scanf(“%d”,&n);

if(prime(n))

printf(“n %d is a prime.n”,n);else

printf(“n %d is not a prime.n”,n);}

int prime(int n){ int flag=1,i;for(i=2;i

if(n%i==0)

flag=0;return(flag);}

7-4 寫一個函數(shù),使給定的一個3x3的二維整形數(shù)組轉置,即行列轉換。#include #define N 3 int array[N][N];

void main(){

void convert(int array[][3]);int i,j;printf(“input array:n”);for(i=0;i

for(j=0;j

scanf(“%d”,&array[i][j]);

printf(“noriginal array :n”);for(i=0;i

for(j=0;j

printf(“%5d”,array[i][j]);

printf(“n”);}

printf(“convert array:n”);for(i=0;i

for(j=0;j

printf(“%5d”,array[i][j]);

printf(“n”);} }

void convert(int array[][3]){ int i,j,t;for(i=0;i

for(j=i+1;j

{

t=array[i][j];

array[i][j]=array[j][i];

array[j][i]=t;

} }

7-5 寫一個函數(shù),是輸入的字符串按反序存放,在主函數(shù)中輸入和輸出字符竄。#include #include char str[100];void main(){ void inverse(char str[]);

printf(“input string:”);scanf(“%s”,str);

inverse(str);

printf(“inverse string:%sn”,str);}

void inverse(char str[]){ char t;int i,j;for(i=0,j=strlen(str);i<(strlen(str)/2);i++,j--){

t=str[i];

str[i]=str[j-1];

str[j-1]=t;} }

7-6 寫一個函數(shù),將兩個字符竄連接。

#include void main(){ void concatenate(char string1[],char string2[],char string[]);char s1[100],s2[100],s[100];printf(“input string1:”);scanf(“%s”,s1);printf(“input string2:”);scanf(“%s”,s2);

concatenate(s1,s2,s);printf(“nThe new string is %sn”,s);}

void concatenate(char string1[],char string2[],char string[]){ int i,j;for(i=0;string1[i]!='

主站蜘蛛池模板: 蜜臀av夜夜澡人人爽人人| 国产成人女人在线观看| 午夜家庭影院| 亚洲v国产v天堂a无码二区| 欧美日韩午夜群交多人轮换| 欧美偷窥清纯综合图区| 国产精品久久久久久亚洲| 黑人巨大精品欧美一区二区免费| 中国老太婆bb无套内射| 在线观看无码不卡av| 亚洲乱色熟女一区二区三区丝袜| 免费无码视频| 免费毛片在线看片免费丝瓜视频| 装睡被陌生人摸出水好爽| 99久久精品国产一区二区三区| 欧美日韩一区二区综合| 中国少妇xxxx做受| 久欠精品国国产99国产精2021| 国产成人啪精品视频免费网| 精品av熟女一区二区偷窥海滩| 亚洲国产成人一区二区在线| 国产成人av乱码在线观看| 中文幕无线码中文字蜜桃| ass日本丰满熟妇pics| 东京热久久综合久久88| 亚洲精品久久久av无码专区| 五月激激激综合网亚洲| 漂亮人妻被中出中文字幕久久| 久久2017国产视频| 男受被做哭激烈娇喘gv视频| 亚洲欧洲日韩综合色天使| 牛鞭伸入女人下身的真视频| 人妻熟妇乱又伦精品hd| 日本一区二区三区日本免费| 国精产品一区一区二区三区mba| 好爽又高潮了毛片免费下载| 欧美巨大黑人极品精男| 妇女bbbbb撒尿正面视频| 午夜一区一品日本| 色婷婷综合久色aⅴ五区最新| 挺进邻居丰满少妇的身体|