文章目录

  • 71. 挂科危险
  • 72. HTTP状态码
  • 73. 数字三角形
  • 74. 公务员面试
  • 75. 有序序列插入一个数
  • 76. 筛选法求素数
  • 77. 图像相似度
  • 78. 登录验证
  • 79. 学好C++
  • 80. (a+b-c)*d的计算问题

71. 挂科危险

  • 问题描述:KiKi想知道这学期他的学习情况,BoBo老师告诉他这学期挂的科目累计的学分,根据所挂学分,判断KiKi学习情况,10分以上:很危险(Danger++),4~9分:危险(Danger),0 ~ 3:Good。

  • 输入描述:一行,一个整数(0~30),表示KiKi挂的科目累计的学分。

  • 输出描述:一行,根据输入的挂科学分,输出相应学习情况(Danger++,Danger,Good)。

  • 示例1

    • 输入:14
    • 输出:Danger++
  • 示例2

    • 输入:9
    • 输出:Danger
  • 示例3

    • 输入:1
    • 输出:Good
  • 代码实现

#include<stdio.h>
int main()
{int a = 0;scanf("%d", &a);if (a >= 10)printf("Danger++\n");else if (a >= 4 && a <= 9)printf("Danger\n");elseprintf("Good\n");return 0;
}

72. HTTP状态码

  • 问题描述:KiKi访问网站,得到HTTP状态码,但他不知道什么含义,BoBo老师告诉他常见HTTP状态码:200(OK,请求已成功),202(Accepted,服务器已接受请求,但尚未处理。)400(Bad Request,请求参数有误),403(Forbidden,被禁止),404(Not Found,请求失败),500(Internal Server Error,服务器内部错误),502(Bad Gateway,错误网关)。

  • 输入描述:多组输入,一行,一个整数(100~600),表示HTTP状态码。

  • 输出描述:针对每组输入的HTTP状态,输出该状态码对应的含义,具体对应如下:

200-OK
202-Accepted
400-Bad Request
403-Forbidden
404-Not Found
500-Internal Server Error
502-Bad Gateway
  • 示例

    • 输入:200
    • 输出:OK
  • 代码实现

#include <stdio.h>int main()
{int HTTP;while(scanf("%d",&HTTP) != EOF){switch(HTTP){case 200:printf("OK\n");break;case 202:printf("Accepted\n");break;case 400:printf("Bad Request\n");break;case 403:printf("Forbidden\n");break;case 404:printf("Not Found\n");break;case 500:printf("Internal Server Error\n");break;case 502:printf("Bad Gateway\n");break;}}return 0;
}

73. 数字三角形

  • 问题描述:KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用数字组成的数字三角形图案。

  • 输入描述:多组输入,一个整数(3~20),表示数字三角形边的长度,即数字的数量,也表示输出行数。

  • 输出描述:针对每行输入,输出用数字组成的对应长度的数字三角形,每个数字后面有一个空格。

  • 示例1

输入:4
输出:
1
1 2
1 2 3
1 2 3 4
  • 示例2
输入:5
输出:
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
  • 代码实现
#include <stdio.h>int main()
{int n;while(scanf("%d",&n) != EOF){for(int i = 1;i <= n;i++){for(int j = 1;j <= i;j++)//i行就打印i列{printf("%d ",j);              }putchar('\n');}}return 0;
}

74. 公务员面试

  • 问题描述:公务员面试现场打分。有7位考官,从键盘输入若干组成绩,每组7个分数(百分制),去掉一个最高分和一个最低分,输出每组的平均成绩。
    (注:本题有多组输入)
  • 输入描述:每一行,输入7个整数(0~100),代表7个成绩,用空格分隔。
  • 输出描述:每一行,输出去掉最高分和最低分的平均成绩,小数点后保留2位,每行输出后换行。
  • 示例
    • 输入:99 45 78 67 72 88 60
    • 输出:73.00
  • 解题思路:一边输入,一边求和,一边求最大最小值,最后求平均值。
  • 代码实现
#include <stdio.h>
int main()
{float n[7];while(scanf("%f %f %f %f %f %f %f", &n[0],&n[1],&n[2],&n[3],&n[4],&n[5],&n[6]) != EOF){int max = 0, min = 100, s = 0;for(int i = 0; i < 7; i++){if(n[i] > max)max = n[i];if(n[i] < min)min = n[i];s = s+n[i];}printf("%.2f\n", (s-max-min)/5.0);}return 0;
}

75. 有序序列插入一个数

  • 问题描述:有一个有序数字序列,从小到大排序,将一个新输入的数插入到序列中,保证插入新数后,序列仍然是升序。

  • 输入描述

    • 第一行输入一个整数(0≤N≤50)。

    • 第二行输入N个升序排列的整数,输入用空格分隔的N个整数。

    • 第三行输入想要进行插入的一个整数。

  • 输出描述:输出为一行,N+1个有序排列的整数。

  • 示例

输入:51 6 9 22 308
输出:1 6 8 9 22 30
  • 解题思路:从后往前比较一定数字找到合适的位置,就可以插入数字了,但是如果插入的数字比所有的元素都小,那就插入到第一个位置上。
  • 代码实现
#include <stdio.h>
int main()
{int n,i;int arr[51] = {0};int m;//要插入的数字scanf("%d",&n);//输入个数for(i = 0;i < n;i++)//输入有序的数字{scanf("%d",&arr[i]);}scanf("%d",&m);//输入要插入的数字//从后往前一个一个的找,//找到第一个比m小的数则将m放在它后面for(i = n-1;i >= 0;i--){if(m < arr[i]){arr[i + 1] = arr[i];//将比m大的数往后移动}else{arr[i + 1] = m;//插在比m小的数字后面break;}}if(i < 0)//数组中所有元素都比m大{arr[0] = m;//将m放到第一个位置}for(i = 0;i < n+1;i++){printf("%d ",arr[i]);}return 0;
}

76. 筛选法求素数

  • 问题描述:用筛选法求n以内的素数。筛选法求解过程为:将2~n之间的正整数放在数组内存储,将数组中2之后的所有能被2整除的数清0,再将3之后的所有能被3整除的数清0 ,以此类推,直到n为止。数组中不为0 的数即为素数。
  • 输入描述:多组输入,每行输入一个正整数(不大于100)。
  • 输出描述:针对每行输入的整数n,输出两行,
    • 第一行,输出n之内(包括n)的素数,用空格分隔,
    • 第二行,输出数组中2之后被清0 的个数。每行输出后换行。
  • 示例
输入:20
输出:2 3 5 7 11 13 17 1911
  • 代码实现
#include <stdio.h>
int main()
{int n;while(scanf("%d",&n) != EOF){int i,arr[101];for(i = 2;i <= n;i++)//将2到n之间的数存起来{arr[i] = i;}int j;for(j = 2;j <= n;j++)//列举所有的除数:2~n{int k;//用j之后的数来除jfor(k = j + 1;k <= n;k++){//j之后的数 % j如果等于0,则将其置为0if(0 == arr[k] % j){arr[k] = 0;}}}int count = 0;//输出并记录for(i = 2;i <= n;i++){if(arr[i] != 0)//这就是筛选出来的素数{printf("%d ",arr[i]);}else    count++ ;}printf("\n%d\n",count);//在第二行打印被清零的数的个数}return 0;
}

77. 图像相似度

  • 问题描述:给出两幅相同大小的黑白图像(用0-1矩阵)表示,求它们的相似度。若两幅图像在相同位置上的像素点颜色相同,则称它们在该位置具有相同的像素点。两幅图像的相似度定义为相同像素点数占总像素点数的百分比。

  • 输入描述:第一行包含两个整数m和n,表示图像的行数和列数,用单个空格隔开。1≤m≤100, 1≤n≤100。之后m行,每行n个整数0或1,表示第一幅黑白图像上各像素点的颜色,相邻两个数用单个空格隔开。之后m行,每行n个整数0或1,表示第二幅黑白图像上各像素点的颜色,相邻两个数用单个空格隔开。

  • 输出描述:一个实数,表示相似度(以百分比的形式给出),精确到小数点后两位。

  • 示例

输入:3 31 0 10 0 11 1 01 1 00 0 10 0 1
输出:44.44
  • 代码实现
#include <stdio.h>
int main()
{int m,n;int arr1[100][100] = {0};//m 和n最大取值都是100int arr2[100][100] = {0};int count = 0;//统计有多少个位置上的数相等      scanf("%d %d",&m,&n);int i,j;for(i = 0;i < m;i++)//m行{for(j = 0;j < n;j++)//n列{scanf("%d",&arr1[i][j]);}}for(i = 0;i < m;i++)//m行{for(j = 0;j < n;j++)//n列{scanf("%d",&arr2[i][j]);}}for(i = 0;i < m;i++){for(j = 0;j < n;j++){if(arr1[i][j] == arr2[i][j]){count++ ;}}}printf("%.2f\n",100.0 * count / (m * n));return 0;
}

78. 登录验证

  • 问题描述:有个软件系统登录的用户名和密码为(用户名:admin,密码:admin),用户输入用户名和密码,判断是否登录成功。
  • 输入描述:多组测试数据,每行有两个用空格分开的字符串,第一个为用户名,第二个为密码。
  • 输出描述:针对每组输入测试数据,输出为一行,一个字符串(“Login Success!”或“Login Fail!”)。
  • 示例1
    • 输入:admin admin
    • 输出:Login Success!
  • 示例2
    • 输入:admin abc
    • 输出:Login Fail!
  • 代码实现
#include <stdio.h>
#define MAX 100
#include <string.h>int main()
{char name[MAX];char code[MAX];while(scanf("%s %s",&name,&code) != EOF){if(!strcmp(name,"admin") && !strcmp(code,"admin")){printf("Login Success!\n");}else{printf("Login Fail!\n");}}return 0;
}

79. 学好C++

  • 问题描述:C++是带类的C语言,这个“++”主要包含三部分内容:对C语言进行语法上的扩展、面向对象(封装、继承和多态),STL(即模板)。这学期你将学习C++,学好C++,其他编程语言都可以很轻松掌握。

  • 输入描述:无

  • 输出描述:I will learn C++ well!

  • 代码实现

//学好C++#include<stdio.h>int main()
{printf("I will learn C++ well!\n");return 0;
}

80. (a+b-c)*d的计算问题

  • 问题描述:这是一个非常简单的题目,意在考察你编程的基础能力。千万别想难了哦。输入为一行,包括了用空格分隔的四个整数a、b、c、d(0 < a, b, c, d < 100,000)。输出为一行,为“(a+b-c)*d”的计算结果。

  • 输入描述:输入为一行,用空格分隔的四个整数a、b、c、d(0 < a, b, c, d < 100,000)。

  • 输出描述:输出为一行,为“(a+b-c)*d”的计算结果。

  • 示例

    • 输入:1 3 2 4
    • 输出:8
  • 代码实现

#include <stdio.h>int main()
{int a,b,c,d;scanf("%d %d %d %d",&a,&b,&c,&d);printf("%d\n",(a + b- c) * d);return 0;
}

【C语言】编程初学者入门训练(8)相关推荐

  1. 牛客网C语言编程初学者入门训练135题

    文章目录 1.实践出真知 2.我是大V 3.有容乃大 4.小飞机 5.反向输出四位数 6.大小写转换 7.缩短二进制 8.十六进制转十进制 9.printf的返回值 10.成绩输入输出 11.学生基本 ...

  2. JavaScript_牛客网_编程初学者入门训练(21-30题解)

    牛客网编程初学者入门训练题解JavaScript版本 编程初学者入门训练第21-30题解答(js) 22.你能活多少秒 25.计算体重指数 26.计算三角形的周长和面积 27.计算球体体积 28.大小 ...

  3. JavaScript_牛客网_编程初学者入门训练(131-140题解)

    牛客网编程初学者入门训练题解JavaScript版本 编程初学者入门训练第131-140题解答(js) 131.KiKi学程序设计基础 132.KiKi算期末成绩 133.KiKi说祝福语 134.K ...

  4. 牛客网 编程初学者入门训练 BC133 KiKi说祝福语

    题目来源:牛客网 编程初学者入门训练 BC133 KiKi说祝福语 import java.util.Scanner; public class Main {public static void ma ...

  5. 牛客网 编程初学者入门训练 BC37 网购 Java

    题目来源:牛客网 编程初学者入门训练 BC37 网购 import java.util.Scanner; public class Main {public static void main(Stri ...

  6. 牛客网 编程初学者入门训练 BC3 有容乃大 Java

    题目来源:牛客网 编程初学者入门训练 BC3 有容乃大 public class Main {public static void main(String[] args) {System.out.pr ...

  7. 牛客网编程初学者入门训练讲解(C语言)

    以十进制显示数字,使用%d:以八进制 显示数字,使用%o:以十六进制显示数字,使用%x.另外,要显示各进制数的前缀0.0x和0X,必须使用%#o.%#x.%#X. --<C Primier Pl ...

  8. 【C语言】在线OJ题 BC122-BC139-牛客网编程初学者入门训练

    目录 BC122 小乐乐算平均分 BC123 小乐乐找最大数 BC124 小乐乐是否被叫家长 BC125 小乐乐转换成绩 BC126 小乐乐算多少人被请家长 BC127 小乐乐算最高分 BC128 小 ...

  9. 【C语言】在线OJ题 BC7-BC52-牛客网编程初学者入门训练

    目录 BC7 缩短二进制 BC8 十六进制转十进制 BC9 printf的返回值 BC10 成绩输入输出 BC11 学生基本信息输入输出 BC12 字符金字塔 BC13 ASCII码 BC14 出生日 ...

最新文章

  1. JS基础-Array对象手册
  2. POJ1679判断最小生成树的唯一性
  3. Python学习(七) 流程控制if语句
  4. python时间序列动图_python中如何用matlibplot画时间序列图?
  5. 我的世界java版联机不稳定_完善自己:“联机版游戏玩家”如何通过社交完善自己,这个社交跟你想的也许不一样1.0...
  6. 阿里云文件上传工具类
  7. 十年后 AI 是什么样?
  8. Leetcode 648.单词替换
  9. 【2017年第4期】大数据平台的基础能力和性能测试
  10. 什么时候使用resulttype_柳州站东广场到底什么时候可以使用?
  11. 【完全背包】自然数拆分Lunatic版
  12. 适合matlab的编程字体“YAHEI CONSOLAS HYBRID”-下载+安装
  13. OpenGL入门教程
  14. 多少开发人员 饿了么_做个美团(饿了么)网站需要多少钱?
  15. matlab 循环和判断语句,matlab中循环语句与for循环
  16. 安卓程序运行显示permission is only granted to system apps的解决方法
  17. 用插件MAVEN-SUREFIRE-REPORT-PLUGIN生成HTML格式测试报告
  18. linux文件权限数字754,linux555、644、666、755、777权限详解数字代表什么意思
  19. 有道云笔记Markdown图片插入居中方法
  20. Python动态可视化Cufflinks

热门文章

  1. Couldn't check for existence of job: Table 'manage.QRTZ_JOB_DETAILS' doesn't exist
  2. centos7或者centos8下安装google-chrome谷歌浏览器
  3. 数据科学的定义、简史和主要工作流程
  4. 二进制,十进制,十六进制,相互转化
  5. 利用回归模型来预测股票价值的方法
  6. 星志远电商:拼多多店铺名称改不了怎么办?
  7. Linux 内核协议栈之TCP连接关闭
  8. java关于时区的获取的几种方式
  9. 有哪些好用的建筑工程项目管理软件?
  10. 机械专属!!能保存图纸修改记录的3D看图网盘——免费不限速!!