




已阅读5页,还剩61页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ex1.1#include int main(void)printf(Hello,worldn);return 0;ex1.2/*= Name : area.c Author : zhang san Version : Copyright : Your copyright notice Description : Calculate the area of circle =*/#include int main(void)int r = 3; /定义变量整型变量r,并初始化为3,表示圆的半径double s; /定义双精度型变量s,用来存放圆的面积s = 3.1415926 * r * r; printf(%fn, s);return 0;ex1.3#include #define PI 3.1415926int main(void)int r = 3;double s;s = PI * r * r;printf(%fn, s);return 0;ex1.4#include #define PI 3.1415926int main(void) int r;double s;printf(r=:); /输出信息,提示用户输入r的值scanf(%d, &r); / 输入r的值,&r表示取变量r的地址s = PI * r * r;printf(%fn, s);return 0;ex1.5#include #define PI 3.1415926double area(int r) /r是球的半径double s;s = PI * r * r;return s;int main(void)int r;printf(r:);scanf(%d, &r); printf(%fn, area(r);return 0;ex2.1#include int main(void) printf(%d %d %dn, 10, 010, 0x10);printf(%d %d %dn, 20, 020, 0x20);printf(%d %d %dn, 100, 0100, 0x100);return 0;ex2.2#include int main(void)float PI=3.1415926;printf(%fn, PI);return 0;ex2.3#include int main(void)printf(%c%c%cn, a, A, 0);printf(%c%c%cn, 97, 65, 48);printf(%c%c%cn, , 101, x41);return 0;ex2.4#include int main(void)int i = 12, j = 10;double x;printf(%d %dn, i, j);printf(%fn, x);return 0;ex2.5#include int main(void) printf(%dn, 1 + 2 + 3 + 4);printf(%dn, 1 + 2 * 3 - 4);printf(%dn, 1 / 2 + 3 * 4);printf(%fn, 1. / 2 + 3 % 4);return 0; ex2.6#include int main(void)int a = 3, b = 2, c = 1;printf(%d %dn, a b, a = b);printf(%d %dn, a != b, a = b);printf(%d %dn, b c, b b c);printf(%d %dn, a = 1, b = c);return 0;ex2.7#include int main(void)printf(%dn, 1 2 & 3 4);printf(%dn, a | 97);printf(%dn, !(1 2 & 2 1);return 0;ex2.8#include int main(void)int n, x;n = 5;x = n+; / 后缀运算printf(n=%d x=%dn, n, x);n = 5;x = +n; / 前缀运算printf(n=%d x=%dn, n, x);return 0;ex3.1 #include int main(void) int num1, num2, max;printf(num1,num2:);scanf(%d%d, &num1, &num2);if (num1 num2)max = num1;elsemax = num2;printf(max=%dn, max);return 0;ex3.2#include int main(void) int score;char grade;printf(Enter the test score(0-100):);scanf(%d, &score);if (score = 90)grade = A;else if (score = 80)grade = B;else if (score = 70)grade = C;else if (score = 60)grade = D;elsegrade = E;printf(The grade is: %cn, grade);return 0;ex3.3#include int main(void)int n;scanf(%d, &n); / n: 1-13switch (n) case 1:printf(Acen);break;case 11:printf(Jackn);break;case 12:printf(Queenn);break;case 13:printf(Kingn);break;default:printf(%dn, n);break;return 0;ex3.4#include int main(void)int score;char grade;printf(Enter the test score(0-100):);scanf(%d, &score);switch (score / 10) case 10:case 9:grade = A;break;case 8:grade = B;break;case 7:grade = C;break;case 6:grade = D;break;default:grade = E;printf(The grade is: %cn, grade);return 0;ex3.5#include int main(void) int n, sum;n = 1;sum = 0;while (n = 100) sum += n;n+;printf(sum=%dn, sum);return 0;ex3.6#include int main(void)int n, sum;scanf(%d, &n);sum = 0;do sum += n % 10;n /= 10; while (n 0); / 分号不能少printf(%dn, sum);return 0;ex3.7#include int main(void)int n, sum;sum = 0;for (n = 1; n = 100; n+)sum += n;printf(sum=%dn, sum);return 0;ex3.8#include int main(void)int i, j;for (i = 1; i = 9; i+) for (j = 1; j = i; j+)printf(%d*%d=%-3d, i, j, i * j);printf(n);return 0;ex3.9#include int main(void) int n, d;printf(Enter a number(0):);scanf(%d, &n);for (d = 2; d n; d+)if (n % d = 0)break; / 已确定n不是素数printf(%d is%s a prime.n, n, d = n ? : not);return 0;ex3.10#include int main(void) int i, j;for (i = 1; i = 9; i+) for (j = 1; j i)goto exit;printf(%d*%d=%-3d, i, j, i * j);printf(n);exit: printf(endn); / goto语句的出口,前面必须有语句标号return 0;ex4.1#include #define N 10int main(void)int i, aN; / 数组的大小必须是常数for (i = 0; i = 0; i-) / 逆序输出数组元素的值printf(%d , ai);return 0;ex4.2#include #define N 6int main(void) int aN; / 数组大小必须是常量int i, x = 30;printf(Input %d integer:, N);for (i = 0; i N; i+)scanf(%d, &ai);for (i = 0; i N; i+)if (ai = x) break; / 找到一个就退出循环if (i N)printf(found,match in %d:n, i);elseprintf(no match!n);return 0;ex4.3#include #define N 6int main(void)int vN = 8, 14, 30, 45, 67, 89 ;int low = 0, high = N - 1, mid;int x = 30;while (low = high) mid = (low + high) / 2;if (x vmid)low = mid + 1; / 在后半部分查找elsebreak;if (low = high)printf(found,match in %d:n, mid);elseprintf(no match!n);return 0;ex4.4#include #include #include #define N 10int main(void)int aN, i, j, t;srand(time(0); / 用当前运行时间设置随机种子for (i = 0; i N; i+) ai = rand() % 100 ;printf(%d%c, ai, i = N - 1 ? n : );for (i = 0; i N - 1; i+) / 共进行N-1趟for (j = 0; j aj + 1) / 交换aj和aj+1t = aj;aj = aj + 1;aj + 1 = t;for (i = 0; i N; i+)printf(%d%c, ai, i = N - 1 ? n : );return 0;ex4.5#include #define M 3#define N 3int main(void) int aMN, i, j;for (i = 0; i M; i+)for (j = 0; j N; j+)aij = i = j ? 1 : 0;for (i = 0; i M; i+)for (j = 0; j N; j+)printf(%3d%c, aij, j = N - 1 ? n : );return 0;ex4.6#include #define M 3#define N 4int main(void)int aMN, i, j;int max, sum, row, col;printf(input array %d rows %d cols:, M, N);for (i = 0; i M; i+)for (j = 0; j N; j+)scanf(%d, &aij); / &aij表示aij元素的地址sum = 0;max = a00; / 假设a00元素最小row = col = 0;for (i = 0; i M; i+)for (j = 0; j N; j+) sum += aij;if (max aij) / 改变最大值及其位置max = aij; row = i;col = j;printf(average: %fn, 1.0 * sum / M / N);printf(max=%d in (%d,%d)n, max, row, col);return 0;ex4.7#include int main(void) int daytab213 = 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 , 0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ;int year, month, leap;printf(input year:n);scanf(%d, &year);printf(input month:n);scanf(%d, &month);leap = (year % 4 = 0 & year % 100 != 0) | year % 400 = 0;printf(%d daysn, daytableapmonth);return 0;ex4.8#include int main(void)char s80;int i;scanf(%s,s);i=0;while (si!=0) / 遇0而止i+;printf(%s:%dn, s,i);return 0;ex4.9#include int main(void) char monthname20 = Illegal, January, February, March,April, May, June, July, August, September, October,November, December ;int i;for (i = 1; i = 12; +i) printf(%s , monthnamei);if (i % 4 = 0)printf(n);return 0;ex4.10#include #include int main(void)char s120 = computer;char s210 = science;puts(s1);printf(%sn, s2);printf(%d %dn, strlen(s1), strlen(s2);printf(%dn, strcmp(s1, s2);strcat(s1, s2);printf(%d %dn, strlen(s1), strlen(s2);printf(%dn, strcmp(s1, s2);strcpy(s1, s2);printf(%dn, strcmp(s1, s2);return 0;ex5.1#include int max(int n1, int n2) int temp;temp = n1 n2 ? n1 : n2;return temp;int main(void) int num1, num2;printf(num1,num2:);scanf(%d%d, &num1, &num2);printf(max=%dn, max(num1, num2);return 0;ex5.2#include int main(void)int num;int isPrime(int n);for (num = 2; num 20; num+)if (isPrime(num)printf(%dt, num);return 0;int isPrime(int n)int i;for (i = 2; i n; i+)if (n % i = 0)break;return i n ? 0 : 1;ex5.3#include void printMessage(void)printf(C Programming is fun.n);int main(void)int i;for (i = 1; i = 3; +i)printMessage();return 0;ex5.4#include int main(void)int i;double power(int m, int n);for (i = 6; i 10; +i)printf(%f %fn, power(2, i), power(20, i);return 0;double power(int base, int n)int i;double p;for (p = 1, i = 1; i = n; +i)p = p * base;return p;ex5.5#include #define N 5void bubbleSort(int a, int n) int i, j, temp;int swaped;for (i = 0; i n - 1; i+) swaped = 0; / 将swaped置为0表示没有交换for (j = 0; j aj + 1) temp = aj;aj = aj + 1;aj + 1 = temp;swaped = 1; / 将swaped置为1表示已有交换if (!swaped)break; / 若某一趟排序无交换则整个排序完成int main(void) int aN, i;void bubbleSort(int a, int n);for (i = 0; i N; i+)scanf(%d, &ai);bubbleSort(a, N);for (i = 0; i N; i+)printf(%d%c, ai, i = N - 1 ? n : );return 0;ex5.6#include int gcd(int m, int n)int r;while (m % n != 0) / 辗转相除法r = m % n;m = n;n = r;return n;int lcm(int m, int n)return m / gcd(m, n) * n;int main(void)int m, n;int gcd(int m, int n);int lcm(int m, int n);printf(input m,n:);scanf(%d%d, &m, &n);printf(gcd(%d,%d)=%dn, m, n, gcd(m, n);printf(lcm(%d,%d)=%dn, m, n, lcm(m, n);return 0;ex5.7#include int fac(int n)if (n = 0)return 1;elsereturn n * fac(n - 1);int main(void)int i;for (i = 0; i = 4; i+)printf(%d!=%dn, i, fac(i);return 0;ex5.8#include void hanoi(int n, char from, char using, char to) if (n = 1)printf(%d:%c-%cn, n, from, to);else hanoi(n - 1, from, to, using);printf(%d:%c-%cn, n, from, to);hanoi(n - 1, using, from, to);int main(void) hanoi(3, A, B, C);return 0;ex5.9#include int fun(int t)extern int a; /声明a为外部变量,这是必要的,因为a定义在后int static b = 2; / b为静态整型变量并初始化为2auto int c = t; /c为自动变量并初始化为形参t的值,auto可缺省a+;b+;printf(in fun:n);printf(a=%d,b=%d,c=%dn, a, b, c);return a + b + c;int a = 2; /定义a为外部变量并初始化为2int main()register int i; /定义寄存器变量ifor (i = 1; i 3; i+)auto int a; /a只能作用在复合语句中,它屏蔽了外部变量aa = fun(i);printf(in for(main):);printf(a=%dn, a);printf(extern a= %dn, a);/输出外部变量a的值return 0;ex6.1#include int main(void)int x = 1, y = 5, z5 = 10 ;int *ip;ip = &x; / ip指向xprintf(%d %dn, *ip, x);y = *ip;printf(%d %dn, *ip, y);*ip = 9;printf(%d %dn, *ip, y);ip = &z0; / ip指向z0printf(%d %dn, *ip, z0);y = *ip + 6;printf(%d %dn, *ip, y);y = +*ip;printf(%d %dn, *ip, y);y = (*ip)+;printf(%d %dn, *ip, y);return 0;ex6.2#include int main(void) int a = 2, b = 3, *p1 = &a, *p2 = &b, *p;if (a b) p = p1;p1 = p2;p2 = p; /交换指针printf(a=%d,b=%dn, a, b);printf(max=%d,min=%dn, *p1, *p2);return 0;ex6.3#include void swap(int *p1, int *p2) int temp;temp = *p1;*p1 = *p2;*p2 = temp; / 交换*p1和*p2的值int main(void) int a = 2, b = 3;printf(%d,%dn, a, b);swap(&a, &b);printf(%d,%dn, a, b);return 0;ex6.4#include double average(int a, int n, int *pmax, int *pmin) int i;double s = 0;*pmax = *pmin = a0; for (i = 0; i n; i+) s += ai;if (*pmax ai)*pmin = ai;return s / n;int main(void) int a = 4, 3, 9, 2, 6 ;int max, min;double aver;double average(int a, int n, int *pmax, int *pmin);aver = average(a, 5, &max, &min); printf(max=%d,min=%d,average=%fn, max, min, aver);return 0;ex6.5#include int main(void)int a = 1, 3, 5, 7, 9 ;int *pa, i;for (i = 0; i = 0; i-)printf(%4d%c, *(pa+i), i = 0 ? n : );for (pa = a; pa = a; pa-)printf(%4d%c, *pa, pa = a ? n : );return 0;ex6.6#include void inverse(int x, int n)int temp, i, j;for (i = 0, j = n - 1; i j; i+, j-) temp = xi;xi = xj;xj = temp;int main(void)int a = 6, 3, 5, 7, 9 ;int i;inverse(a, 5);for (i = 0; i 5; i+)printf(%4d%c, ai, i = 4 ? n : );return 0;ex6.7#include void strCopy(char s, char t)/ 数组下标形式int i;i = 0;while (si = ti) != 0)i+;int main(void)char s=There is no royal road to learning.;char t=Doubt is the key to knowledge.;strCopy(s,t);printf(%sn%s,s,t);return 0;ex6.8#include int strCompare(char s, char t)int i;for (i = 0; si = ti; i+) / 相等则继续比较if (si = 0)return 0;return si ti ? 1 : -1;int main(void)char s = There be no royal road to learning.;char t = Theres no royal road to knowledge.;printf(%d, strCompare(s, t);return 0;ex6.9#include #include void bubbleSort(char *linePtr, int n) char *temp;int i, j;for (i = 0; i n - 1; i+)for (j = 0; j 0) temp = linePtrj;linePtrj = linePtrj + 1;linePtrj + 1 = temp;void printLines(char *linePtr, int n) while (n- 0)puts(*linePtr+);int main(void)char *linePtr = JAVA, BASIC, FORTRAN ;bubbleSort(linePtr, 3);printLines(linePtr, 3);return 0;ex6.10#include #include int main(void) char *linePtr = JAVA, BASIC, FORTRAN ;char *p;int i;for (i = 0; i 3; i+)printf(%sn, linePtri); /用数组下标变量访问for (p = linePtr; p linePtr + 3; p+)printf(%sn, *p); /用指向指针的指针访问return 0;ex6.11#include int main(void)int a22 = 0, 1, 2, 3 ;int (*pa)2;pa=a;/ pa指向第0行printf(%dt%dn,a00,(*pa)0); / pa指向的数组的0号元素 printf(%dt%dn,a01,(*pa)1);pa+;/ pa指向第1行printf(%dt%dn,a10,(*pa)0);printf(%dt%dn,a11,(*pa)1);printf(%pt%pn,a,a0); / a是行地址,a0是列地址/格式说明符p表示输出指针的值,a的具体值依赖于运行环境printf(%pt%pn,a+1,a0+1);/a+1为第1行的地址,而a0+1是第0行1列元素的地址/它们的具体值也依赖于运行环境中整型变量占有的字节数printf(%dt%dn,*(*(a+1)+0),*(a0+1);return 0;ex6.12#include double average(int (*a)4, int *pmax, int *prow, int *pcol) int i, j;double sum = 0;*pmax = a00; / 假设a00元素最小*prow = *pcol = 0;for (i = 0; i 3; i+)for (j = 0; j 4; j+) sum += aij;if (*pmax aij) / 改变最大值及其位置*pmax = aij;*prow = i;*pcol = j;return sum / 12;int main(void) int a34 = 0, 1, 2, 3 , 4, 15, 6, 7 , 8, 9, 10, 11 ;int max, row, col;double temp;temp = average(a, &max, &row, &col);printf(average: %fn, temp);printf(max=%d in (%d,%d)n, max, row, col);return 0;ex6.13#include int max(int a, int b)return a b ? a : b;int main(void)int(*pmax)(int, int); /定义指向函数的指针pmax/ 它指向的函数返回值为int,有两个整型参数int a=3,b=4;pmax = max;printf(%dn, max(a,b);printf(%dn, (*pmax)(a,b);printf(%dn, pmax(a,b); / (*pmax)(a,b)简写为pmax(a,b)return 0;ex6.14#include double integral(double(*f)(double), double a, double b) double s, h;int n = 100, i;h = (b - a) / n;s = (*f)(a) + (*f)(b)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 风电叶片水性涂料项目可行性研究报告
- 防汛抢险知识培训资料课件
- 旅游业项目计划报告
- 酒店客房服务方案指南
- GeneralAgencyAgreement总代理协议3篇
- 节点重要性评估-洞察及研究
- 藤材资源优化-洞察及研究
- 安徽省黄山市2024-2025学年高二上学期期末质量检测化学试卷 (含答案)
- 气压纳米材料改性-洞察及研究
- 2025年广东省广州市中考物理三轮冲刺《声现象》
- 建筑艺术赏析(职业通用)全套教学课件
- 无人机理论知识无人机理论基础
- 医院检验科质量手册
- 农业科技在2024年的发展与前景展望
- 护理不良事件警示教育(新)
- 人生规划和人生定位课件
- 陕09J01 建筑用料及做法图集
- 教育行政学课件
- 30题工程造价岗位常见面试问题含HR问题考察点及参考回答
- 【维生素C】大剂量协助你改善各种疾病-钱学森保健、贾平凹乙肝
- 产品研发管理手册:免修版模板范本
评论
0/150
提交评论