<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">在学习的过程中最重要的就是自己对所学的东西感不感兴趣,兴趣在我们学习的过程中会给我们一些动力,从而激发我们潜在的力量,今天就给大家介绍几种有意思的C语言练习题,从而使大家可以对C语言又不一样的学习态度。</span>

①.5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果
A选手说:B第一,我第三。
B选手说:我第二,E第四。
C选手说:我第一,D第二。
D选手说:C最后,我第三。
E选手说:我第四,A第一。
比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。

对于初学C语言的人来说一看这种题一点思路的都没有,但也不要懊恼,毕竟是人家的面试题么,话不多说先看程序。

#include<stdio.h>
int main()
{int a = 0, b = 0, c = 0, d = 0, e = 0;for (a = 1; a <= 5; a++)for (b = 1; b <= 5; b++)for (c = 1; c <= 5; c++)for (d = 1; d <= 5; d++)for (e = 1; e <= 5; e++)if((b == 1) + (a == 3)==1 &&(b == 2) + (e == 4) == 1 && (c == 1) + (d == 2) == 1&& (c == 5) + (d == 3) == 1 && (e == 4) + (a == 1) ==1){printf("A:%d  B:%d  C:%d  D:%d  E:%d\n", a, b, c, d, e);}return 0;
}

其中最不容易想到的就是if里边的条件判断,每人说的那句话都是一个假一个真所以判断结果和为1.

②.日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。以下为4个嫌疑犯的供词。
A说:不是我。
B说:是C。
C说:是D。
D说:C在胡说
已知3个人说了真话,1个人说的是假话。
现在请根据这些信息,写一个程序来确定到底谁是凶手。

这个题和上个题有些相似的地方,就是根据每个人说的话的真假可以做出一个判断条件从而达到此题的目的。

#include<stdio.h>
int main()
{int k = 0;for (k = 'a'; k <= 'd'; k++){if ((k != 'a') + (k == 'c') + (k == 'd') + (k !='d') == 3){printf("killer is %c", k);}}return 0;
}

判断条件和上题有着一样的思路。

③.猜数字游戏

#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
#include<time.h>
void game();
void menue();
int main(){int i = 0;l:menue();scanf_s("%d", &i);switch(i){case 1:game(11);break;case 2:game(101);break;case 3:game(1001);break;case 4: return 0;break;default: "error";}Sleep(1000);system("cls");goto l;system("pause");}
void game(int i)
{int num = 0, r = 0;srand((int)time(0));r = (rand() % i);printf("请猜一个数:>");scanf_s("%d", &num);while (num != r){if (num > r){printf("猜大了:<");}if (num < r){printf("猜小了:<");}scanf_s("%d", &num);}printf("猜对了:>");
}
void menue()
{printf("欢迎进入猜数游戏\n");printf("1.简单(0-10)\n");printf("2.一般(0-100)\n");printf("3.困难(0-1000)\n");printf("4.退出游戏\n");
}

自己用C语言写出来的第一个算是小游戏的估计就是这个猜数游戏了,猜数字游戏的逻辑也是很简单的作为新手培养感情也是不错的选择。

④.三次密码输入的模拟。

#define  _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{int a = 0,i=0;char pwd[] = "123456";char key[7];printf("请输入密码");for (i = 0; i < 3; i++){scanf("%s", key);printf("%s", key);a = strcmp(pwd, key);if (a != 0){if (i < 2){printf("密码错误\n请重新输入:");}else{printf("密码错误\n超过输入次数!!!\n");}}else{printf("密码正确\n欢迎使用!\n");break;}}system("pause");return 0;}

是不是有点像银行卡密码的感觉,在这个代码的编写过程中我们创建2个一维数组来存取我们的用户输入密码和正确密码,其次在密码的比对过程我们用了一个strcmp()这个用于比较的库函数。

⑤在屏幕上打印杨辉三角。

#include<stdio.h>
int main()
{int arr[10][10] = {0};int i,k,j;for (i = 0; i <= 10; i++){arr[i][0] = 1;arr[i][i] = 1;}for (i = 2; i < 10; i++){for (j = 1; j < 10; j++){arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];}}for (i = 0; i<10; i++){for (k = 0; k < 10 - i; k++){printf(" ");}for (j = 0; j <= i; j++){printf("%3d ", arr[i][j]);}printf("\n");}system("pause");return 0;}

首先我们用了一个

for (i = 0; i <= 10; i++){arr[i][0] = 1;arr[i][i] = 1;}

给第一行和对角线赋值为1,然后根据杨辉三角的规律其中的一个数等于肩膀上的2个数之和,用2个for语句固定好每个行每一个维值得值就是:

for (i = 2; i < 10; i++){for (j = 1; j < 10; j++){arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];}}

固定好个位置的值接下来的就是每一个值得打印了。

一些可以使你感兴趣的c语言简单练习相关推荐

  1. 东软实训推荐面试问题12:三分钟表现自己使我感兴趣就留下来?

    东软实训推荐面试问题:三分钟表现自己使我感兴趣就留下来? 问题:你可以有三分钟的表现自己的机会,若表现得使我感兴趣,就留下来,否则另请高就. 回答:这三分钟的表现,可以成为你去留的依据,有的学生充分显 ...

  2. 深度学习目标检测指南:如何过滤不感兴趣的分类及添加新分类?

    编译 | 庞佳 责编 | Leo 出品 | AI 科技大本营(公众号ID:rgznai100) AI 科技大本营按:本文编译自 Adrian Rosebrock 发表在 PyImageSearch 上 ...

  3. 新晋院士:直到硕士毕业前都想做公务员,现在只对科研感兴趣

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文整合自上观新闻.新民晚报.文汇报 从一所地方院校(江西农业大学) ...

  4. 软件测试作业2:在敏捷宣言遵循的12条原则中挑选1条你感兴趣的原则进行风险评估

    作业2 1.在敏捷宣言遵循的12条原则中挑选1条你感兴趣的原则进行风险评估. "原则"参见Lec 6, slide 8-11; "风险"参见Lec 3, sli ...

  5. 课堂上老师不讲的有趣物理知识,才是孩子最感兴趣的!

    "现在的孩子上学学的东西比我们那时候难多了,上小学时我和孩子爸辅导功课就已经很吃力了,孩子下半年就要上初(高)中了,尤其物理.化学更是难上加难,可怎么办啊--" >>& ...

  6. 逻辑人渴望控制那些让他们感兴趣的东西

    逻辑人渴望控制那些让他们感兴趣的东西,而那些让他们感兴趣的都是些复杂的确定性系统.人是复杂的,但他们不像机器,他们的行为不具有逻辑性和可预见性.最好的机器是数字的,因为这样它就能变得最为复杂.精细,并 ...

  7. 算法应用一:【指纹识别】+【图像分割】一种面向“感兴趣区域”的指纹图像分割算法

    请使用任何图像处理方法和编程语言,从图的背景中分割出感兴趣区域的指纹区域. 解释为什么你选择使用这种方法.(请注意,将提供jpg图像作为输入.) I=imread('1.jpg'); f=rgb2gr ...

  8. 2.2 获取图像感兴趣区域_超火的机器视觉OpenCVSharp学习笔记3——图像形态学处理...

    一. 图像形态学处理的概念 在机器视觉中,我们获得一张图片首先要进行预处理,去掉噪声等杂乱的地方,突出我们感兴趣的区域,数字图像处理中的形态学处理是指将数字形态学作为工具从图像中提取对于表达和描绘区域 ...

  9. OpenCV中感兴趣区域的选取与检测(一)

    1.感兴趣区域的选取 感兴趣区域(Region of Interest, ROI)的选取,一般有两种情形:1)已知ROI在图像中的位置:2)ROI在图像中的位置未知. 1)第一种情形 很简单,根据RO ...

最新文章

  1. 字符设备之register_chrdev与register_chrdev_region
  2. 演练5-3:Contoso大学校园管理系统3
  3. 框架:Spring事务的隔离级别
  4. mysql删除数据表show_数据库与表显示、创建、删除
  5. 在生产环境中调试 Angular 应用程序而不显示源映射
  6. php 位运算与权限,PHP中的二进制位运算和权限存储
  7. python界面开发 web_使用 web 技术构建 python 的 GUI 界面
  8. linux 内存查看_Linux终端查看最消耗CPU内存的进程
  9. java 日期_Java中的日期操作
  10. Android应用程序版本号管理(官方文档中文版) 2011-08-07 22:03:36
  11. CeH2.5-NaH-Al复合储氢材料/金属Ce氢化物催化NaH-Al复合储氢材料/Ce氢化物催化的NaAlH4复合储氢材料定制
  12. html如何自动获取屏幕高度,css如何获取屏幕高度?
  13. Spring Boot获取节假日API
  14. 【办公技巧】Excel技巧 点击单元格打对勾(宏)
  15. vm安装android,Vmware虚拟机安装安卓4.0系统教程
  16. 调用Android自带浏览器打开网页
  17. 可悲、可叹、可怜的TD-sdma
  18. 从辉煌到困局,奥康还能不能绝地反击?
  19. bouncycastle android,Android和BouncyCastle的IllegalAccessError
  20. vs2019社区版下载教程(详细)

热门文章

  1. python爬微博数据中心_怎样用python爬新浪微博大V所有数据?
  2. java eclipse调试提示Source not found 或 一闪而过 解决方法
  3. 前端笔记之服务器Ajax(上)服务器PHP数据交互HTTP
  4. Paddlehub+wechaty实现一个智能微信机器人-好友友好账户管家
  5. 程序员如何在“小公司成长”和“大公司学习”
  6. txt文件导入excel
  7. matlab的2维矩阵和3维矩阵维度变换,二维矩阵变换三维矩阵,2D矩阵转换3D矩阵
  8. php微信地图定位导航,微信小程序实现定位及到指定位置导航的示例代码
  9. JAVA打印出1到100的所有质数,并计算共有多少个质数。
  10. PHP mysql_connect连接失败