本篇提供了关于C语言程序设计中结构化程序设计部分的经典案例,可供C语言的初学者们进行一个学习和编译练习。

/*Case 1
画“图”
有三个数x、y、z,找出最小的数*/

int main() {int x, y, z;printf("请以此输入要比较的三个数字:");scanf("%d %d %d", &x, &y, &z);if (x>y){if (y>z){printf("最小值是:%d", z);}else{printf("最小值是:%d", y);}}else{if (x>z){printf("最小值是:%d", z);}else{printf("最小值是:%d", x);}}return 0;
}

/*Case 2
三只小猪
三个整数从小到大排列*/

int main() {int weight1, weight2, weight3, weightL;printf("请以此输入要比较的三个重量:");scanf("%d %d %d", &weight1, &weight2, &weight3);if (weight1>weight2){weightL = weight1;weight1 = weight2;weight2 = weightL;}if (weight1>weight3){weightL = weight1;weight1 = weight3;weight3 = weightL;}if (weight2>weight3){weightL = weight2;weight2 = weight3;weight3 = weightL;}printf("体重从小到大排序为:%d %d %d", weight1, weight2, weight3);return 0;
}

/*Case 3
自动贩卖机
选择一种输出*/

int main() {int drinks;printf("****************************************\n");printf("**     按编号选择您想要购买的饮品     **\n");printf("**       1. 咖啡      Cofee           **\n");printf("**       2. 茶        Tea             **\n");printf("**       3. 可口可乐  Coca-Cola       **\n");printf("****************************************\n");printf("请输入商品编号(1、2、3):");scanf("%d", &drinks);switch (drinks){case 1:printf("您选择了咖啡!");break;case 2:printf("您选择了茶!");break;case 3:printf("您选择了可口可乐!");break;default:printf("您选择的商品不存在!");break;}return 0;
}

 /*Case 4
冰雹猜想(3X+1问题)*/

int main() {int num;int count = 1;printf("请输入一个数字:");scanf("%d", &num);do{if (num % 2 == 1) {num = 3 * num + 1;printf("count=%d,num=%d\n", count++, num);}num = num / 2;printf("count=%d,num=%d\n", count++, num);} while (num != 1);return 0;
}

/*Case 5
水仙花数
一个三位数,每一位数字的三次幂之和等于它本身
如:1^3+5^3+3^3=153*/

int main() {int a, b, c;int i;printf("水仙花数:\n");for ( i = 100; i <= 999; i++){a = i % 10;b = i / 10 % 10;c = i / 100;if (i==(a * a * a + b * b * b + c * c * c)){printf("%d ",i);}}return 0;
}

/*Case 6
百钱百鸡
公鸡值五钱、母鸡值三钱、三只小鸡值一钱
求公鸡、母鸡、小鸡的数量
0<=cock<=20;
0<=hen<=33;
0<=chicken<=100;
cock+hen+chicken=100;
5*cock+3*hen+chicken/3=100*/

int main() {int cock, hen, chicken;for (cock = 0;cock <= 20; cock++) for (hen = 0; hen <= 33; hen++)for (chicken = 0; chicken <= 100; chicken++) {if ((5 * cock + 3 * hen + chicken / 3.0 )==100&& cock + hen + chicken == 100){printf("cock=%2d,hen=%2d,chicken=%2d\n",cock,hen,chicken);}}return 0;
}

/*Case 7
掷骰子
一盘中两人轮流掷5次,5次点数累加,大的获胜,相同为平局
求50盘之后的胜利者*/

#include <time.h>     //使用time()必须加该头文件
#include <stdlib.h>
int main() {srand((unsigned int)time(NULL));int d1, d2, c1, c2, i, j;c1 = c2 = 0;for ( i = 0; i <= 50; i++){d1 = d2 = 0;for ( j = 0; j <= 6; j++){d1 = d1 + rand() % 6 + 1;d2 = d2 + rand() % 6 + 1;}if (d1>d2){c1++;}else if(d1<d2){c2++;}}if (c1>c2){printf("\nThe first win.");}else{if (c1<c2){printf("\nThe second win.");}else{printf("\nThey tie.");}}return 0;
}

/*Case 8
九九乘法表*/

int main() {int i, j;for ( i = 1; i <= 9; i++){for ( j = 1; j <= i; j++){printf("%d*%d=%d ", i, j, i * j);}printf("\n");}return 0;
}

/*Case 9
自守数
某个数的平方等于该数本身
求0~10000的所以自守数*/

#include <math.h>
int main() {int i,a, k, m;for ( i = 1; i <= 10000; i++)//在1-10000内依次检验{a = i;a *= a;                  //求出i的平方k = log10(i) + 1;        //求出i的位数kfor ( m = 1; k ; k--)      //执行k次循环{                      m *= 10;               //得到数m}a %= m;                   //通过取余找出尾数if (a==i)                 //判断i的平方的尾数是否等于i{printf("%d\n",i);}}return 0;
}

/*Case 10
回文素数
若整数i从左向右读与从右向左读都是相同的数,且i为素数,则称其为回文素数
求出所有小于1000的回文素数*/

int main() {int flag=0;int n;int i;for ( n = 0; n < 1000; n++){for ( i = 2; i < n; i++){flag = 1;if (n%i==0){flag = 0;break;}}if (flag==1){if (n/100==0){if (n/10==n%10){printf("%4d", n);}}else{if (n/100==n%10){printf("%4d", n);}}}}printf("\n");return 0;
}

/*Case 11
薪水问题
通过输入员工的销售额,计算出其薪水总额并输出*/

int main() {double salary = 2000;int k;int sale;printf("请输入销售额:");scanf("%d", &sale);if (sale%1000==0){k = sale / 1000;}else{k = sale / 1000 + 1;}switch (k){case 0:case 1:case 2:case 3:break;case 4:case 5:case 6:case 7:salary += sale * 0.1;break;case 8:case 9:case 10:salary += sale * 0.15;break;default:salary += sale * 0.2;break;}printf("薪水是:%5.2lf\n",salary);return 0;
}

本篇的所有代码是在VS编译环境下操作的,如有错误,望大家指正!!!

C语言经典案例——第二章 结构化程序设计相关推荐

  1. c语言程序设计第2章,C语言程序设计第2章 结构化程序设计与算法.ppt

    C语言程序设计第2章 结构化程序设计与算法.ppt 现在人们公认的具有"良好风格"的程序设计方法之一是所谓的"结构化程序设计方法".其核心是规定了算法的三种基本 ...

  2. 猴子吃桃c语言程序到第n天,猴子吃桃问题之《C语言经典案例分析》

    猴子吃桃问题之<C语言经典案例分析> 一.[什么是猴子吃桃] 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个.第二天早上又将第一天剩下的桃子吃掉一半,有多吃了 ...

  3. c语言两种排序方法的组合,排列和组合算法的实现方法_C语言经典案例

    排列和组合算法是考查递归的常见算法,这两种算法能用递归简洁地实现. 本人在经过多次摸索和思考之后,总结如下,以供参考. 程序代码如下: #include #include char array[] = ...

  4. R语言基础题及答案(二)——R语言与统计分析第二章课后习题(汤银才)

    R语言与统计分析第二章课后习题(汤银才) 题-1 用函数rep( )构造一个向量x, 它由3个3, 4个2, 5个1构成. x<-rep(c(3,2,1),times=c(3,4,5));pri ...

  5. c语言属于结构化程序设计语言,c语言填空题1.结构化程序设计语言的三种基本结构分别是,和.-查字典问答网...

    c语言填空题 1.结构化程序设计语言的三种基本结构分别是,和. 2.C源程序的基本单位是______,一个C源程序中至少应包括一个______. 3.开发一个C程序要经过编辑.__________.连 ...

  6. acm水仙花数java,水仙花数之C语言经典案例分析

    水仙花数之C语言经典案例分析 一.[什么是水仙花数] 水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI) ...

  7. c语言排列组合的函数,c语言排列组合算法 排列和组合算法的实现方法_C语言经典案例...

    想了解排列和组合算法的实现方法_C语言经典案例的相关内容吗,在本文为您仔细讲解c语言排列组合算法的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:c语言排列组合算法,下面大家一起来学习吧. ...

  8. Vivado经典案例:使用Simulink设计FIR滤波器

    今天给大侠带来Vivado经典案例:使用Simulink设计FIR滤波器,话不多说,上货. FIR(Finite Impulse Response)滤波器:有限长单位冲激响应滤波器,又称为非递归型滤波 ...

  9. C语言经典案例——第三章 函数

    本篇提供了关于C语言程序设计中函数部分的经典案例,可供C语言的初学者们进行一个学习和编译练习. /*Case 1 求n个数的平均值*/ int avg(int n) { //定义avg()函数int ...

最新文章

  1. VDI序曲二十一 APP-V 4.6 SP1服务器端部署
  2. linux关机 hibernate,Linux关机命令
  3. 用fieldset标签轻松实现Tab选项卡效果
  4. 万字讲解API网关的来龙去脉
  5. django学习(1)-----项目组成
  6. 记录一下:关于mysql数据误删除恢复的问题
  7. C#回顾 - 3.NET的IO:字节流
  8. 实践录丨如何在鲲鹏服务器OpenEuler操作系统中快速部署OpenGauss数据库
  9. js 格式化 java时间格式化_用JavaScript(js)对时间格式化
  10. Watchman 的安装
  11. 暴风影音皮肤_暴风影音16周年纪念版 v9.04
  12. 查看JDK版本和安装路径
  13. 编写第一个操作WORD文档的应用程序
  14. 滴滴6月或发布造车计划;头部App上线一键关闭 “个性化推荐 ”​;下载捆绑,“高速下载”竟为元凶 | EA周报...
  15. Vmware Workstation 无法连接到虚拟机,请确保您有权运行该程序。
  16. 语句摘抄——第12周
  17. 内存泄露-Android Studio 生成Dump 的 HPROF 文件查看和分析工具
  18. mysql默认编码改为gkb编码_MYSQL数据库默认latin1字符集转换为GBK或UTF8
  19. Data Mining Machine Learning学习笔记 机器学习入门笔记 之jieba分词(中文分词)(二)
  20. 《银行业人工智能实践》

热门文章

  1. php中in的作用是什么,in是什么软件
  2. 通过独立站打开新市场
  3. 木马超过病毒成为互联网安全最大隐患
  4. THREE DAY | 网络安全之Linux(包含Linux常用命令,镜像下载,docker命令等内容)超详细!!!
  5. 微信企业号开发:主动发送消息
  6. html怎么引入多个字体文件,css – 如何为同一个字体添加多个字体文件?
  7. 对一个信号添加带限高斯白噪声 Matlab实现
  8. 补间动画 http://www.sunnyos.com/
  9. 医疗影像与模态缺失数据
  10. DocuPrint M268 dw 打印机普通用户使用指南