(完整版)c语言初学必背代码_第1页
(完整版)c语言初学必背代码_第2页
(完整版)c语言初学必背代码_第3页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、printf("sum=%dn", sum);#include <stdio.h>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

2、(80 <= score && score < 100)printf(" 优秀 n");elseprintf("输入错误!n");/3. 最大公约数#include <stdio.h>/ 求 m,n 的最大公约数int main()int m, n;int i, k;printf(" 请输入两个数 :");scanf("%d %d", &m, &n);/ 三元运算符找较小的那个k = m < n ? m : n;/ 从较小的那个数倒着往前找for(i=k

3、; i>=1; i-)/ 这是公约数if(m % i = 0) && (n % i =0)printf(" 最大公约数是 %dn", i);break; / 跳出 for 循环/4. 最小公倍数 /2. 计算 1 到 100 的和#include <stdio.h>int main()int sum = 0; / 存结果变量int i;for(i=1;i <= 100;i+)sum = sum + i;#include <stdio.h>/ 求 m,n 的最小公倍数int main()int m, n;int max, m

4、in; /m,n 中较大 ,较小的那 个int k;/max, 2*max, 3*max, printf(" 请输入两个数 :"); scanf("%d %d", &m, &n);/也可以交换 m,n,保证m小n大 max = m > n ? m : n;min = m < n ? m : n;k = max; / 从 max 开始while(k % min != 0)k += max; / 每次倍增printf(" 最小公倍数是 %dn", k);/5. 金字塔#include <stdio.h&g

5、t; /金字塔 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 <stdio.h>/ 打印九九乘法表int main()int i,j;for(i=1;i<=9;i+) /外层一定是 9行fo

6、r(j=1; j<=i; j+) /内层第几行走几遍printf("%d*%d=%d ", i, j, i*j);printf("n");/7. 百钱买百鸡#include <stdio.h>/*百钱买百鸡 ,类似 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",

7、i, j, 100-i-j);sum += ai;if(ai < min) / 比最小值还小 min = ai;/ 你才是最小/1,2,5 凑 100 银币问题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", cou nt, i, j, 100-5*i

8、-2*j);/8. 一维数组的最大值、最小值、平均值#include <stdio.h>#define N 10/宏定义常量int main()int i;/ 下标索引int max, min;double sum = 0; / 累加和int aN = 58, 58, 96, 100, 25, 55, 66, 88, 99, 77;max = a0;/ 假设第一个最大min = a0;/ 假设第一个最小for(i=1; i<N; i+)if(ai > max) / 比最大值还大 max = ai; / 你才是最大printf("max=%d, min=%dn&

9、quot;, max, min); printf("average = %.2lfn", sum/N);/9. 二维数组的最大值、最小值、平均值#include <stdio.h>int main()int i; / 第几行int 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; i<3; i+) /必定 3 行 for(j=0;

10、 j<4; j+) / 必定 4 列printf("%5d ", aij);sum += aij;if(aij > max) max = aij;if(aij < min) min = aij;printf("n");average = sum / (3*4);printf("max=%d, min=%d, avg=%.2lfn", max, min, average);#include <stdio.h>/ 二维数组转置:行变列,列变行 int main()int i; / 第几行int j; / 第几

11、列int a34 = 1,2,3,4, 5,-6,7,8, 9,19,39,0;int b43;for(i=0; i<3; i+)for(j=0; j<4; j+)printf("%5d", aij); printf("n");/ 矩阵转置 for(i=0; i<3; i+)for(j=0; j<4; j+)bji = aij;for(i=0; i<4; i+)for(j=0; j<3; j+) printf("%5d", bij); printf("n");#include &

12、lt;stdio.h>#define N 10 int main()int i;int j;int tmp;/ 宏定义常量/ 下标索引/ 临时交换用int aN = 58, 58, 96, 100, 25, 55, 66, 88, 99, 77;/ 外层循环一定是 N-1for(i=0; i<N-1; i+)/ 两两交换,大的往后走 for(j=0; j<N-i-1; j+)/ 交换if(aj > aj+1)tmp = aj; aj = aj+1; aj+1 = tmp;for(i=0; i<N; i+) printf("%d ", ai);

13、printf("n");#include <stdio.h>/12. 结构冒泡排序/结构定义 ,用户自定义类型 typedef struct student char sno20; / 学号 char name20; / 姓名 int age; / 年龄 char gender;/ 性别 char tel20; / 电话;int main()int i;int j;double sum = 0;struct student tmp; / 两两交换临时用 ;/ 结构数组struct student team5; for(i=0; i<5; i+)printf

14、("请输入第%d个队员的信息:n", i+1);scanf("%s %s %d %c %s", teami.sno, , &teami.age, &teami.gender, teami.tel);/ 按年龄冒泡排序 for(i=0; i<5; i+)for(j=0; j<5-i-1; j+)/ 两两交换if(teamj.age > teamj+1.age) tmp = teamj; teamj = teamj+1; teamj+1 = tmp;/ 取值printf("%-12s %-10s

15、 %-5s %-5s %-15sn", " 学号", "姓名", "年龄", "性别 ", "电话");for(i=0; i<5; i+)printf("%-12s %-10s %-5d %-5c %-15sn", teami.sno, , teami.age, teami.gender, teami.tel);/13. 结构数组找年龄最大值#include <stdio.h>/结构定义 ,用户自定义类型 typedef str

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

17、e, &teami.gender, teami.tel);/ 取值printf("% -12s %-10s %-5s %-5s %-15sn ", "学号", "姓名", "年龄", "性别", "电话");for(i=0; i<5; i+)printf("% -12s %-10s %-5d %-5c %- n", teami.sno, , teami.age, teami.gender, teami.tel);/ 找学号

18、最大的那一个tmp = team0;for(i=1; i<5; i+)if(strcmp(teami.sno,tmp.sno) > 0 )tmp = teami;printf(" 学号最大的队员如下 :n");printf("% -12s %-10s %-5d %-5c %- n", tmp.sno, , tmp.age, tmp.gender, tmp.tel);/14. 文件读写#include <stdio.h>#include <stdlib.h> /结构定义 ,用户自定义类型 typedef

19、struct studentchar sno20; / 学号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);/ 指

20、向一个可以存储 n 个 student 结构的 内存空间s = (struct student *)malloc(sizeof(struct student) * n);p1 = s; / 不要动头位置 s 的值/ 打开文件fp = fopen("e:test.txt", "r");for(i=0; i<n; i+)/ 从文件中读入一行fscanf(fp, "%s %s %d %c %s", p1->sno, p1->name, &p1->age, &p1->gender, p1->

21、tel);p1+;fclose(fp);p1 = s;for(i=0; i<3; i+)printf("%s %s %d %c %sn", p1->sno, p1->name, p1->age, p1->gender, p1->tel);free(s);/15. 输入三角形三边长计算周长和面积#include<stdio.h>#include<math.h>int main()double area,perimeter,s,a,b,c; printf(" 请输入三边长 a b c:"); sca

22、nf("%lf%lf%lf",&a,&b,&c); if(a+b>c) && (a+c>b) && (b+c>a) 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

23、 leap =0;scanf("%d %d",&year,&month);if(year %4=0 && 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 <stdio.h>int main()int sum = 0;for(int i=0;

温馨提示

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

评论

0/150

提交评论