1、c语言课后习题代码1. 编程实现:输入一个字母,若为小写,则把它变成大写输出。代码如下:#includemain() char c; printf(Please input a character:); scanf(%c,&c); if(c=a&c=z) printf(The result is :%cn,c-32);2. 由键盘输入3个数a、b、c,编程输出其中最小的数。代码如下:#includemain() inta,b,c,t; printf(Please input three numbers:); scanf(%d%d%d,&a,&b,&c); if(ab) t=a; a=b; b=
2、t; if(ac) t=a; a=c; c=t; printf(The minimum is :%dn,a);3. 由键盘输入三个数a、b、c,用条件运算符求出最大值和最小值。代码如下:#includemain() inta,b,c,min,max; printf(Please input three numbers:); scanf(%d%d%d,&a,&b,&c); max=min=a;f 米,第4次反弹的高度为:%.3f 米n,sum,h1);第六章1. 求二维数组中全部元素的和。假定二维数组为a23=1,2,3,4,5,6代码如下:#includemain() int a23=1,2,
3、3,4,5,6,i,j,sum=0; for(i=0;i2;i+) for(j=0;j3;j+) sum+=aij; printf(The sum is :%dn,sum);2. 有三个字符串,要求按照字母的顺序输出。假定为:America,China,India;代码如下:#includemain() char a=China,b=America,c=India, t=0; int i,j; if (strcmp(a,b)0)strcpy(t,a);strcpy(a,b);strcpy(b,t); if (strcmp(a,c)0)strcpy(t,a);strcpy(a,c);strcpy
4、(c,t); if (strcmp(b,c)0)strcpy(t,b);strcpy(b,c);strcpy(c,t); puts(a);puts(b);puts(c); 3. 求一个3*4矩阵的所有靠外侧的元素值之和。矩阵如下:123456789101112代码如下:#includemain() int a43,i,j,m=1,sum=0; for(i=0;i4;i+) for(j=0;j3;j+,m+) aij=m; for(i=0;i4;i+) for(j=0;j3;j+) if(i=0|i=3) sum+=aij; else if(j=0|j=2) sum+=aij; printf(T
5、he sum is: %dn,sum);4. 将一个数组中的值按逆序重新存放,例如原来的顺序为:8,6,5,4,1。要求改为:1,4,5,6,8。代码如下:#includeint main() int a = 8, 6, 5, 4, 1 , i, j, t; for (i = 0;i=2; i+) t = ai; ai = a4 - i; a4 - i = t; for (i = 0; i 5; i+) printf(%d , ai); printf(n);5. 已有一个排序好的数组,输入一个数,要求按原来的顺序将它插入数组中。假定排序好的数组为:a=1 ,8,11,14,16,17,21代码
6、如下:#includeint main() int a = 1, 8, 11, 14, 16, 17, 21 , i, j, t, b8; printf(Please input a number:); scanf(%d, &t); for (i = 0; i t) j = i; break; for (i = 0; i 8; i+) if (ij) bi = ai; else if (i = j) bi = t; else bi = ai - 1; for (i = 0; i 8; i+) printf(%d , bi); printf(n);6. 求一维数组各元素的平均值。假定数组为:a=
7、1,2,3,4,5,6代码如下:#includemain() int a6,i,sum=0; for(i=0;i6;i+) ai=i+1; for(i=0;i6;i+) sum+=ai; printf(The sum is :%dn,sum);7. 编写一个程序,将两个字符串连接起来,不要用strcat函数。代码如下:#includeint main() char a = China , b = stronger!; char csizeof(a)+sizeof(b); int i, j; for (i = 0; ai != 0; i+) ci = ai; for (j = 0; bj !=
8、0; j+) ci + j = bj; ci + j = 0; printf(连接后的字符串为:%sn, c);第七章1. 编写一个函数,使输入的一个字符串反序存放,在主函数中输入和输出字符串。代码如下:#include#includevoid sort(char);int main() char a101; printf(请输入一个字符串(100个字符以内):); scanf(%s, a); sort(a); printf(%sn, a);n, result0, result1, result2);int *kind(char *s,int* result) int digit = 0, c
9、h1 = 0, ch2 = 0, space = 0, i, j; for (i = 0; i = a&sij = A&sij = 0&sij = 9) digit+; else space+; result0 = digit; result1 = ch1; result2 = ch2; return result;1. 用指针编写求字符串长度的函数。函数代码如下:int slength(char* s) int i, j = 0; for (i = 0; si != 0; i+) j+; return j;2. 编写函数,对传送过来的3个数选出最大数和最小数,并通过形参返回调用函数。函数代码
10、如下:#includeint main() void compare(int, int, int, int&, int&); int a, b, c, max, min; scanf(%d%d%d, &a, &b, &c); max = min = a; compare(a, b, c, max, min); printf(最大值:%d,最小值:%d.n, max, min);void compare(int a, int b, int c, int& x, int& y) x = x c ? (x b ? x : b) : c; y = y c ? (y b ? y : b) : c;3.
11、编写程序,将字符串中的第m个字符开始的全部字符复制成另一个字符串。要求在主函数中输入字符串及m的值并输出复制结果,在被调用函数中完成复制。代码如下:#includeint main() char* copy(char*, int); char s101; char* r; int m; printf(请输入字符串:); scanf(%s, &s); printf(请输入复制的起始位置:); scanf(%d, &m); r=copy(s, m); printf(复制后的函数为:%s, r); char* copy(char* str, int site) int i; char *p; p =
12、 &strsite - 1; return p; 第十章1. 定义一个结构体类型,成员包括职工号、姓名、性别、年龄、工资和地址。定义结构体指针和数组,数组含4个元素,用初始化方式赋值并输出。代码如下:#includeint main() struct worker char number5;umber, pi.name, pi.sex, pi.age, pi.pay, pi.address);2. 存储一个班学生姓名,然后输入一个学生的姓名,查找该人是否为该班的学生。代码如下:#include#includeint main() struct student char name20; ; st
13、ruct student *p, stu5 = Zhou chang, Zhang long, Zhao qing, Hu wei, Liu jian ; char n20=Zhao qing; int i; p = stu; printf(请输入姓名以查找:); gets(n); for (i = 0; i name, n) = 0) printf(是该班级学生。n); break; else if (i = 4) printf(不是该班级学生。n); 3. 读入班级学生人数,每名学生学号和4门功课成绩,计算全班每名学生4门功课的平均成绩。代码如下:#include#include#defi
14、ne len sizeof(struct student)int main() typedef struct student char name20; char number10;fttn, stu-number, stu-name, stu-aver); printf(n); free(head);umber); printf(请输入第%d个学生姓名(19字符以内):, i + 1); scanf(%s, si.name); printf(请输入第%d个学生成绩:, i + 1); scanf(%f, &si.grades); max = 0; for (i = 0; i 4; i+) if (max si.grades) max = si.grades; printf(拥有最高分的学生信息如下:n); printf(学号tt姓名tt成绩n); for (i = 0; i 4; i+) if (max = si.grades) printf(%stt%stt%fn, si.number, si.name, si.grades);
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2