c语言初学必背代码.doc_第1页
c语言初学必背代码.doc_第2页
c语言初学必背代码.doc_第3页
c语言初学必背代码.doc_第4页
c语言初学必背代码.doc_第5页
免费预览已结束,剩余3页可下载查看

下载本文档

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

文档简介

1、/1. 成绩判断#include int main()/ 成绩 int score;printf( 请输入你的成绩 :n);scanf(%d, &score);/ 判断if(score =0 & score 60)printf( 不及格 n);else if(60 = score & score 80)printf( 中等 n);else if(80 = score & score 100)printf( 优秀 n);elseprintf( 输入错误 !n);printf(sum=%dn, sum);/3. 最大公约数#include / 求 m,n 的最大公约数 int main()int

2、m, n; int i, k;printf( 请输入两个数 :); scanf(%d %d, &m, &n);/ 三元运算符找较小的那个 k = m =1; i-)/ 这是公约数if(m % i = 0) & (n % i =0)printf( 最大公约数是 %dn, i); break; / 跳出 for 循环/4. 最小公倍数/2. 计算 1 到 100 的和#include #include int main()/ 求 m,n 的最小公倍数int sum = 0; / 存结果变量int main()int i;for(i=1;i n ? m : n;min = m n ? m : n;k

3、 = max; / 从 max 开始 while(k % min != 0) k += max;/ 每次倍增printf( 最小公倍数是 %dn, k);/5. 金字塔#include / 金字塔 int main()int i;/ 外层int j;/ 内层for(i=1;i=10;i+)/ 当前是在第 i 行/ 先补空格 10-i 个 for(j=1;j=10-i;j+)printf( );/ 再打 2i-1 个 * for(j=1;j=2*i-1;j+)printf(*);printf(n);/6. 九九乘法表#include / 打印九九乘法表 int main()int i,j;for

4、(i=1;i=9;i+)/ 外层一定是 9 行for(j=1; j=i; j+) / 内层第几行走几遍printf(%d*%d=%d , i, j, i*j);printf(n);/7. 百钱买百鸡#include /*百钱买百鸡 ,类似 1,2,5 凑 100 银币问题*/int main2()int i,j;/ 公鸡,母鸡个数for(i=0; i=20; i+)/ 公鸡for(j=0; j=33; j+)/ 母鸡if( (15*i + 9*j + (100-i-j) = 300)printf( 公鸡 %d,母鸡 %d,小鸡%dn, i, j, 100-i-j);2/1,2,5 凑 100

5、银币问题int main3()int count = 0; / 情况数 int i,j;/5 分个数, 2 分个数for(i=0; i=20; i+)/5 分个数for(j=0; j=50; j+)/2 分个数if( ( 5*i + 2*j ) = 100 )count+;printf(%d: 5 分%d 个,2 分%d个, 1 分%d 个 n, count, i, j, 100-5*i-2*j);/8. 一维数组的最大值、最小值、平均值#include #define N 10 / 宏定义常量 int main()int i;/ 下标索引int max, min;double sum = 0

6、; / 累加和int aN = 58, 58, 96, 100, 25, 55, 66, 88, 99, 77;max = a0;/ 假设第一个最大min = a0;/ 假设第一个最小for(i=1; i max) /比最大值还大 max = ai; / 你才是最大if(ai min) / 比最小值还小 min = ai; / 你才是最小sum += ai;printf(max=%d, min=%dn, max, min); printf(average = %.2lfn, sum/N);/9. 二维数组的最大值、最小值、平均值#include int main()int i; / 第几行in

7、t j; / 第几列int a34 = 1,2,3,4, 5,-6,7,8, 9,19,39,0;int max = a00; / 假设你最大 int min = a00; / 假设你最小 double average; / 平均值 double sum = 0; /总和 for(i=0; i3; i+) / 必定 3 行for(j=0; j max)max = aij;if(aij min)min = aij;printf(n);average = sum / (3*4);printf(max=%d, min=%d, avg=%.2lfn, max, min, average);3/10.

8、二维数组转置/11. 冒泡排序#include #include / 二维数组转置:行变列,列变行#define N 10/ 宏定义常量int main()int main()int i; / 第几行int i;/ 下标索引int j; / 第几列int j;inta34=1,2,3,4,5,-6,7,8,int tmp;/ 临时交换用9,19,39,0;int aN = 58, 58, 96, 100, 25, 55, 66, 88,int b43;99, 77;/ 外层循环一定是N-1for(i=0; i3; i+)for(i=0; iN-1; i+)for(j=0; j4; j+)/ 两

9、两交换,大的往后走for(j=0; j aj+1)tmp = aj;/ 矩阵转置aj = aj+1;for(i=0; i3; i+)aj+1 = tmp;for(j=0; j4; j+)bji = aij;for(i=0; iN; i+)printf(%d , ai);for(i=0; i4; i+)printf(n);for(j=0; j3; j+)printf(%5d, bij);printf(n);/12. 结构冒泡排序#include 4/ 结构定义 ,用户自定义类型 typedef struct studentchar sno20;/ 学号char name20;/ 姓名int ag

10、e;/ 年龄char gender; /性别char tel20; / 电话;int main()int i;int j;double sum = 0;struct student tmp;/ 两两交换临时用 ;/ 结构数组struct student team5;for(i=0; i5; i+)printf( 请输入第 %d个队员的信息 :n,i+1);scanf(%s %s %d %c %s, teami.sno, , &teami.age, &teami.gender, teami.tel);/ 按年龄冒泡排序 for(i=0; i5; i+)for(j=0; j t

11、eamj+1.age)tmp = teamj;teamj = teamj+1;teamj+1 = tmp;/ 取值printf(%-12s %-10s %-5s %-5s %-15sn, 学号 , 姓名, 年龄 , 性别 , 电话);for(i=0; i5; i+)printf(%-12s %-10s %-5d %-5c %-15sn,teami.sno, , teami.age, teami.gender, teami.tel);/13. 结构数组找年龄最大值#include / 结构定义 ,用户自定义类型typedef struct studentchar sno20;

12、/ 学号char name20;/ 姓名int age;/ 年龄char gender; /性别char tel20; / 电话;int main()int i;struct student tmp;/ 找最大临时用/ 结构数组struct student team5; for(i=0; i5; i+)printf( 请输入第 %d 个队员的信息 :n, i+1);scanf(%s %s %d %c %s, teami.sno, , &teami.age, &teami.gender, teami.tel);5/ 取值printf(%-12s %-10s %-5s %-5s

13、 %-15sn , 学号 , 姓名, 年龄 , 性别 , 电话);for(i=0; i5; i+)n, teami.sno, , teami.age, teami.gender, teami.tel);/ 找学号最大的那一个tmp = team0;for(i=1; i0 )tmp = teami;printf( 学号最大的队员如下 :n);n,tmp.sno,,tmp.age,tmp.gender, tmp.tel);/14. 文件读写#include #include / 结构定义 ,用户自定义类型 typedef struct studentchar s

14、no20;/ 学号char name20;/ 姓名int age;/ 年龄char gender; /性别char tel20; / 电话;/ 文件读写int main()struct student * s, * p1; / 个数未知 FILE * fp;int i, n = 0;char buf1024;/fgets 缓冲区/ 打开文件fp = fopen(e:test.txt, r); while(fgets(buf, 1024, fp) != NULL)n+;fclose(fp);/ 指向一个可以存储 n 个 student 结构的内存空间s = (struct student *)m

15、alloc(sizeof(struct student) * n);p1 = s; / 不要动头位置 s 的值/ 打开文件fp = fopen(e:test.txt, r); for(i=0; isno, p1-name, &p1-age, &p1-gender, p1-tel);p1+;fclose(fp);p1 = s;for(i=0; isno, p1-name, p1-age, p1-gender, p1-tel);free(s);/15. 输入三角形三边长计算周长和面积#include#include6int main()double area,perimeter,s,a,b,c;

16、printf( 请输入三边长 a b c:); scanf(%lf%lf%lf,&a,&b,&c); if(a+bc) & (a+cb) & (b+ca)s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c);perimeter=a+b+c;n,area,perimeter);elseprintf( 三边长无法构成三角形。n);return 0;/16. 输入年份和月份输出对应那一月的天数,要处理闰年#includeint main()int year,month;int leap =0;scanf(%d %d,&year,&month); if(year %4=0

17、 & year %100 !=0) |year %400 =0) /闰年 2 月 29 天leap=1;switch(month)case 1:case 3:case 5:case 7:case 8:case 10:case 12:printf(31);break;case 4:case 6:case 9:case 11:printf(30);break;case 2:printf(%d,28+leap);break; default:printf(error);break;return 0;/17.1 , 2,5 分硬币问题#include int main()int sum = 0;for

18、(int i=0; i=20; i+)/5 分for(int j=0; j=50; j+)/2 分if(5*i + 2*j = 100)sum+;elsebreak;printf(%dn, sum);/18.100到 200 所有的素数#include int main()int i,j,n;/ 外层for(i=100; i=200; i+)7n = i;int tmp = *pa;/ 内层*pa = *pb;for(j=2;j=n-1;j+)*pb = tmp;if(n%j = 0)break;/ 不是素数int main()if(j=n) / 没找到int a = 3;printf(%d 是素数 n, n);int b = 5;elseprintf(%d 不是素数 n, n);int *pa = &a

温馨提示

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

评论

0/150

提交评论