c语言程序设计教程答案_周鸣争

上传人:第*** 文档编号:56882782 上传时间:2018-10-16 格式:DOC 页数:54 大小:107KB
返回 下载 相关 举报
c语言程序设计教程答案_周鸣争_第1页
第1页 / 共54页
c语言程序设计教程答案_周鸣争_第2页
第2页 / 共54页
c语言程序设计教程答案_周鸣争_第3页
第3页 / 共54页
c语言程序设计教程答案_周鸣争_第4页
第4页 / 共54页
c语言程序设计教程答案_周鸣争_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《c语言程序设计教程答案_周鸣争》由会员分享,可在线阅读,更多相关《c语言程序设计教程答案_周鸣争(54页珍藏版)》请在金锄头文库上搜索。

1、c 语言程序设计教语言程序设计教 程答案程答案 第一章 C 语言概述 一、简答题 1 (1)语言简洁、紧凑,使用方便、灵活;(2)运 算符丰富;(3)具有丰富的数据类型;(4)具有结构化 的控制语句;(5)语法限制不太严格,程序设计自由度大; (6)C 语言允许直接访问物理地址,能进行位(bit)操作, 能实现汇编语言的大部分功能,可以直接访问硬件;(7) 生成目标代码质量高,程序执行效率高;(8)用 C 语言写 的程序可移植性好,基本上不作修改就能用于各种型号的 计算机和各种操作系统。 2顺序结构,分支结构,循环结构 3所谓算法就是为解决一个问题而采取的方法和步骤。 算法的特性:有穷性、确定

2、性、输入、输出、可行性。 表示算法的方式:(1)用自然语言表示;(2)用流 程图表示;(3)用 NS 流程图表示;(4)用伪代码表示; (5)用计算机语言表示。 二、算法 1 瓶子 A 里盛有醋 瓶子 B 里盛有酱油 有一个空瓶 C 将 A 中的醋倒入 C 将 B 中的酱油倒入 A 将 C 中的醋倒入 B 2 输入一个数放在 a 中 max = a 以下步骤重复 9 次: 输入一个数放在 a 中 如果 amax,max=a 打印 max 的值 3 如果aa temp = a a=c c=temp 否则 如果cb temp=b b=c c=temp 打印 a,b,c 的值 4 i=1 sum=0

3、 以下程序循环 100 遍: sum=sum+i i=i+1 打印 sum 的值 5 如果(n 除以 3 的余数为 0 并且 n 除以 5 的余 数为 0) n 能够同时被 3 和 5 整除 否则 n 不能够同时被 3 和 5 整除 6 i=101 以下语句循环 50 遍: j=2 flag=1 当 j=10000i-) ai+1=ai; ai+1=b; printf(“sorted numbers:n“); for (i=0;i=A scanf(“%d“, if (prime(n) printf(“%d is a sushun“,n); else printf(“%d is not a su

4、shun“,n); int prime(int n) int flag=1,i; for (i=2;i #include main() char str100; printf(“input a string:n“) ; gets(str); inverse(str); printf(“the reversed string is:%sn“,str); inverse(char str) char t; int i,j; for (i=0,j=strlen(str)-1;i concat(char str1,char str2) int i=0,j; while (str1i!=0) i+; f

5、or (j=0;str2j!=0;i+,j+) str1i=str2j; str1i=0; main() char str1100,str2100; gets(str1);gets(str2); concat(str1,str2); puts(str1); 5. main() char str80; printf(“input a string (4 ge shu zi zi fu):n“); scanf(“%s“,str); insert(str); printf(“result is:n%sn“,str); insert(char str) int i; for (i=strlen(str

6、);i0;i-) str2*i=stri; str2*i-1= ; 6. #include “stdio.h“ int i,ndight,nwhite,nletter,nother; count(char str) ndight=nwhite=nletter=nother=0; for (i=0;stri!=0;i+) if (stri=0 char t; for (i=1;istrj+1) t=strj;strj=strj+1 ;strj+1=t; main() char strN; int i ; printf(“Input 10 ge zi fu:n“); gets(str); sort

7、(str); printf(“The sorted result:n“) ; for(i=0;i #include #define N 10 void input_e(int num,char nameN8) int i; for (i=0;inumN-1) find=-1; while (find=0) return(tz?t:z); #define MAX(x,y) (x)(y)?(x):(y) main() int a,b,c; printf(“input a,b,c:“); scanf(“%d,%d,%d“, printf(“max=%dn“,MAX(MAX(a,b),c); 13.

8、#include “stdio.h“ #define CHANGE 1 #define MAX 80 main() char strMAX; int i; printf(“input a string:n“); gets(str); #if (CHANGE) for (i=0;stri!=0;i+) if (stri=a void insert(); char *temp,*ptr16=“BASIC“,“DATA“,“PASCAL“,“SQL“,“USE“; int i; ptr15=malloc(20); printf(“n“); printf(“original string:n“); f

9、or(i=0;i0) return(n); while(low0) low=mid+1; else return(mid); return(low); void insert(char *ptr,char *str,int n,int i) int j; for(j=n;ji;j-) strcpy(ptrj,ptrj-1); strcpy(ptri,str); 4、main( ) int i; char *p6,str620; for(i=0;i0) t=*(q+j); *(q+j)=*(q+j+1); *(q+j+1)=t; 5、main( ) int m; char str120,str2

10、20,*p1,*p2; printf(“please input two strings:n“); scanf(“%s“,str1); scanf(“%s“,str2); p1=str1; p2=str2; m=stringcmp(p1,p2); printf(“result is %d:n“,m); stringcmp(char *p1,char *p2) int i=0; while(*(p1+i)=*(p2+i) if(*(p1+(i+)=0) return(0); return(*p1+i)-*(p2+i); 6、main( ) char str130,str230,str3100;

11、int i=0,j=0,k=0; printf(“please input two strings:n“); scanf(“%s“,str1); scanf(“%s“,str2); while(str1i!=0 str3k+=str2j+; while(str1i!=0) str3k+=str1i+; while(str2j!=0) str3k+=str2j+; str3k=0; printf(“n%sn“,str3); 第八章 结构体 一、选择题 1、C 2、B 3、C 4、D 5、B 6、A 7、D 8、C 9、C 10、B 二、填空题 1、34 2、0 3、51 4、10,x 5、364

12、041 三、编程题 1、 struct complex float x; /*实部*/ float y; /*虚部*/ main() struct complex c1=5,3,c2=2,6; float t1,t2; t1=c1.x*c2.x - c1.y*c2.y; t2=c1.x*2.y + c1.y*c2.x; printf(“The two complexs product is:”); printf(“%.2f%+.2f in”,t1,t2); 2. struct student char name10; /*姓名*/ int number; /*学号*/ float x; /*成

13、绩*/ float y; /*成绩*/ main( ) struct student s45; int i; void max(); void average(); void sort(); for (i=0;ipname, p1-next=NULL; while(nnext=p1; /*不是第一个结点,作表尾*/ p2=p1; p1=( Part *) malloc(sizeof(struct Ljian); /*开辟下一个结点*/ scanf(“%d%d”, p1-next=NULL; n+; 4. #include #include #include #define LEN sizeof

14、(struct student) typedef struct student long num; /*学号*/ float score; /*成绩*/ struct student *next; STU; /*用户自定义学生结构体类型*/ STU *Create ( ) /*创建链表* / int n=0; STU *p1,*p2,*head; head=NULL; p1=(STU *)malloc(LEN); /*创建第一个结点*/ scanf(“%ld,%f“, p1-next=NULL; while(p1-num!=0) /*将结点加入链表*/ +n; if(n=1) /*是第一个结点,作表头*/ head=p1; else /*不是第一个结点,作表尾*/ p2-next=p1; p2=p1; p1=(STU *)malloc(LEN); /*开辟下一个结点*/ scanf(“%ld,%f“, p1-next=NULL; free(p1); /*释放最后一个结点所占的内存 */ return (head); /*返回链表的头指针*/ void print(STU *head) /*输出链表* / STU *p; p=head; do printf(“%ldt%5.1fn“,p-num,p-score); p=p-next; while(p!=NU

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号