1 判断

1.1 分段函数,级联的if-else if

1.2 分段函数,不写成级联的if-else if

2 循环

如果没有循环

2.1 for、do-while、while使用场景

 1 #include <stdio.h>
 2
 3 int main()
 4 {
 5     int x;
 6     int ret = 0;
 7
 8     scanf("%d", &x);
 9     int t = x;
10     while ( x > 1 ) {
11         x /= 2;
12         ret ++;
13     }
14     printf("log2 of %d is %d.", t, ret);
15
16     return 0;
17 }

log2x.c

2.2 算平均数

  

 1 #include <stdio.h>
 2
 3 int main()
 4 {
 5     int sum = 0;
 6     int count = 0;
 7     int number;
 8
 9     scanf("%d", &number);
10     while ( number != -1 ) {
11         sum += number;
12         count ++;
13         scanf("%d", &number);
14     }
15
16     double dsum = sum;
17     printf("The average is %f.\n", dsum / count);
18
19     return 0;
20 }

2.3 猜数字游戏

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <time.h>
 4
 5 int main()
 6 {
 7     srand(time(0));
 8     int a = rand();
 9
10     printf("%d\n", a%100);
11
12     return 0;
13 }

rand.c

 1 #include <stdio.h>
 2
 3 int main()
 4 {
 5     int number = rand()%100+1;
 6     int count = 0;
 7     int a = 0;
 8     printf("我已经想好了一个1到100之间的数。");
 9     do {
10         printf("请猜这个1到100之间数:");
11         scanf("%d", &a);
12         if ( a > number ) {
13             printf("你猜的数大了。");
14         } else if ( a < number ) {
15             printf("你猜的数小了。");
16         }
17         count ++;
18     } while (a != number);
19     printf("太好了,你用了%d次就猜到了答案。\n", count);
20
21     return 0;
22 }

2.4 整数逆序

  

2.4.1 整数逆序去除零

2.4.2 整数逆序不去零

 1 #include <stdio.h>
 2
 3 int main()
 4 {
 5     int x;
 6     scanf("%d", &x);
 7     int digit;
 8     int ret = 0;
 9
10     while ( x> 0 ) {
11         digit = x%10;
12         printf("%d", digit);
13         ret = ret*10 + digit;
14         // printf("x=%d,digit=%d,ret=%d\n", x, digit, ret);
15         x /= 10;
16     }
17     // printf("%d", ret);
18
19     return 0;
20 }

2.5 整数分解

输入:

1200

输出:

0 0 1 2

#include <stdio.h>int main()
{int x;scanf("%d", &x);int mask = 1;int t = x;while ( t>9 ) {t /= 10;mask *=10;} printf("x=%d, mask=%d\n", x, mask);do {int d = x / mask;printf("%d", d);if ( mask > 9 ) {printf(" ");}x %= mask;mask /= 10;} while ( mask > 0 );printf("\n");return 0;
}

separate.c

2.6 求最大公约数

2.6.1 枚举法

 1 #include <stdio.h>
 2
 3 int main()
 4 {
 5     int a,b;
 6     int min;
 7
 8     scanf("%d %d", &a, &b);
 9     if ( a<b ) {
10         min = a;
11     } else {
12         min = b;
13     }
14     int ret = 0;
15     int i;
16     for ( i = 1; i < min; i++ ) {
17         if ( a%i == 0 ) {
18             if ( b%i == 0 ) {
19                 ret = i;
20             }
21         }
22     }
23     printf("%d和%d的最大公约数是%d.\n", a, b, ret);
24
25     return 0;
26 }

gcd_iterate.c

2.6.2 辗转相除法

 1 #include <stdio.h>
 2
 3 int main()
 4 {
 5     int a,b;
 6     int t;
 7
 8     scanf("%d %d", &a, &b);
 9     int origa = a;
10     int origb = b;
11     while ( b != 0 ) {
12         t = a%b;
13         a = b;
14         b = t;
15     }
16     printf("%d和%d的最大公约数是%d.\n", origa, origb, a);
17
18     return 0;
19 }

gcd.c

2.7 分式求和

#include <stdio.h>int main()
{int n;int i;double ret=0.0;scanf("%d", &n);for ( i=1; i<=n; i++ ) {ret += 1.0/i;}printf("%f\n", ret);return 0;
}

sumup.c

#include <stdio.h>int main()
{int n;int i;double ret=0.0;int sign = 1;scanf("%d", &n);for ( i=1; i<=n; i++ ) {ret += 1.0*sign/i;sign = -sign;}printf("%f\n", ret);return 0;
}

sumupdn.c

sum+=1.0/i; 除号两边,1.0是浮点数,整形的i也会变成浮点数。

3 break,continue

1
以下代码段的输出是:
int sum = 0;
for ( int i=0; i<10; i++ ) {
    if ( i%2 ) continue;
    sum += i;
}
printf("%d\n", sum);

正确答案:20

2
以下代码段的输出是:
int sum = 0;
for ( int i=0; i<10; i++ ) {
    if ( i%2 ) break;
    sum += i;
}
printf("%d\n", sum);

正确答案:0

参考资料

程序设计入门——C语言_浙江大学_中国大学MOOC(慕课) http://www.icourse163.org/course/ZJU-199001

转载于:https://www.cnblogs.com/gleamer/p/c2.html

C语言程序设计_zju——记录2相关推荐

  1. C语言程序设计授课记录202003

    文章目录 课程信息 教学纪律 成绩评定 授课记录 2020/02/26 第1章 C语言入门 2020/03/04 第2章 变量的定义 2020/03/11 第2章 基本数据类型 2020/03/18 ...

  2. 中职计算机vb听课记录,中职学校《VB语言程序设计》教学浅析

    <中职学校<VB语言程序设计>教学浅析>由会员分享,可在线阅读,更多相关<中职学校<VB语言程序设计>教学浅析(5页珍藏版)>请在人人文库网上搜索. 1 ...

  3. c语言程序学生籍贯信息记录,C语言程序设计学生籍贯信息记录簿

    C语言程序设计学生籍贯信息记录簿 编制一个学生籍贯信息记录簿,每个学生信息包括:学号.姓名.籍贯.具体功能: (1)创建信息链表并以磁盘文件保存: (2)读取磁盘文件并显示输出所有学生的籍贯信息: ( ...

  4. c语言程序设计自评报告,石家庄学院c语言程序设计自评报告.docx

    石家庄学院c语言程序设计自评报告 石家庄学院课程设计报告 课程名称:设计题目:院系:专业:班级:设计者:学号:指导教师:一.题目分析: C语言程序设计校级运动会管理系统 计算机系计算机科学与技术 XX ...

  5. c语言程序设计样板,《C语言程序设计》课程设计报告书样板.doc

    <C语言程序设计>课程设计报告书样板 电子系<C语言程序设计> 课程设计报告书 题目:ATM机模拟操作程序的设计 专业:__________________________ 学 ...

  6. 职工信息管理程序设计c语言,C语言程序设计职工信息管理系统.docx

    C语言程序设计职工信息管理系统.docx 1 数信学院数信学院 课程设计报告课程设计报告 课程名称课程名称C C 语言程序设计语言程序设计_ _ 题目名称题目名称职工信息管理系统职工信息管理系统 学生 ...

  7. 2012年1月java_全国2012年1月自考Java语言程序设计(一)试题及答案.doc

    全国2012年1月自考Java语言程序设计(一)试题及答案 全国2012年10月自考Java语言程序设计(一)试题 课程代码:04747 选择题部分 一.单项选择题 本大题共10小题,每小题1分,共1 ...

  8. 用链表c语言程序设计,C语言程序设计-基于链表的学生成绩管理系统

    <C语言程序设计-基于链表的学生成绩管理系统>由会员分享,可在线阅读,更多相关<C语言程序设计-基于链表的学生成绩管理系统(18页珍藏版)>请在人人文库网上搜索. 1.华北科技 ...

  9. c语言程序设计A课程试,自学考试有关论文范文,与C语言程序设计A课程辅导相关硕士毕业论文范文...

    自学考试有关论文范文,与C语言程序设计A课程辅导相关硕士毕业论文范文 关于自学考试及高等教育自学考试及控件方面的免费优秀学术论文范文,自学考试有关毕业论文开题报告,关于C语言程序设计A课程辅导相关论文 ...

最新文章

  1. exit()和_exit()函数
  2. 如何正确使用Python临时文件
  3. 配置Exchange 2010邮箱和邮件大小限制
  4. Java反射-继承关系
  5. CodeForces - 528D Fuzzy Search(多项式匹配字符串)
  6. Date扩展 正则匹配
  7. 对象存储 OSS > 产品简介 > 什么是对象存储OSS
  8. MongoDB安装问题
  9. tuning 02 Diagnostic and Tuning Tools
  10. vue+vue-cli2+webpack配置资源cdn
  11. 电子邮件服务器-PostFix
  12. 给WPS添加快捷键 智能粘贴 粘贴纯文本
  13. c语言输入角度求sin,从键盘输入一个角度x,求10sin(x)的值 c语音编程
  14. python豆瓣历史评分_python快速查豆瓣评分
  15. react创建ts项目
  16. linux wifi6,iPhone11支持WiFi6是什么意思 WiFi 6是什么东西
  17. 联想z5 android pie,联想z5成功吃上安卓pie
  18. Flutter之基础Widget
  19. GIS应用技巧之缓冲区分析
  20. 多源数据 单源数据是什么意思

热门文章

  1. OpenMv单颜色彩色识别
  2. 人生有三件事不能等...
  3. mix2刷android p教程,小米Mix2 Xposed框架刷入及升级详细图文教程
  4. 微信服务器在五秒内无响应多次请求去重
  5. Ps怎么将照片快速变为黑白
  6. 一文带你体验CentOS7防火墙firewall
  7. 今天终于换地方住了~
  8. 基于51单片机的汽车防盗系统带自动靠近解锁手机感应解锁功能proteus仿真原理图
  9. Charmve Coding | Integer V lies strictly between integers U and W
  10. 天呐 这么多人还不知道tiktok也是抖音(字节跳动集团旗下)的?