🔥个人主页:@草莓熊Lotso 🎬作者简介:C++研发方向学习者 📖个人专栏: 《C语言》 《数据结构与算法》《C语言刷题集》《Leetcode刷题指南》 ⭐️人生格言:生活是默默的坚持,毅力是永久的享受。
前言:本篇博客是刷题集中的第八篇,题目还是一些比较基础的IO型题目,适合C语言初学者。特别声明一下,这里提供的答案和思路都并非唯一,仅供参考。
题目链接:平均身高__牛客网
题目描述:

题目示例:

代码演示:
#include <stdio.h>
int main()
{
double high[5]={0};
double sum=0.0;
for(int i=0;i<5;i++)
{
scanf("%lf",&high[i]);
sum+=high[i];
}
double ave=sum/5.0;
printf("%.2lf",ave);
return 0;
}题目解析:
题目链接:HTTP状态码_牛客题霸_牛客网
题目描述:

题目示例:

代码演示:
#include <stdio.h>
int main()
{
int n=0;
while (scanf("%d", &n) != EOF) {
switch(n)
{
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");
}
}
return 0;
}题目解析:
题目链接:数字三角形_牛客题霸_牛客网
题目描述:

题目示例:

代码演示:
#include <stdio.h>
int main()
{
int n=0;
while (scanf("%d", &n) != EOF) {
for(int i=0;i<n;i++)
{
for(int j=0;j<=i;j++)
{
printf("%d ",j+1);
}
printf("\n");
}
}
return 0;
}题目解析:
题目链接:公务员面试_牛客题霸_牛客网
题目描述:

题目示例:

代码演示:
这题可以用排序来做,排完之后不算最高和最低就行了,但是有点麻烦了,这里博主采用另一种方法
#include <stdio.h>
int main()
{
int a, max = 0, small = 100, sum = 0, count = 0;
while (scanf("%d", &a) != EOF)
{
if (a > max)//判定最高分
{
max = a;
}
if (a < small)//判定最低分
{
small = a;
}
sum += a;
count++;//计数器
if (count == 7)//计数器=7时代表一组的分数好了可以进行计算
{
printf("%.2f\n", (sum - max - small) / 5.0);
count = 0;//重置
max = 0;//重置
small = 100;//重置
sum = 0;//重置
}
}
return 0;
}题目解析:
题目链接:有序序列插入一个整数_牛客题霸_牛客网
题目描述:

题目示例:

代码演示:
#include <stdio.h>
int main()
{
int n=0;
int arrn[50]={0};
int sert=0;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d ",&arrn[i]);
}
scanf("%d",&sert);
int j=0;
for(j=n-1;j>=0;j--)
{
if(arrn[j]>sert)
{
arrn[j+1]=arrn[j];
}
else {
arrn[j+1]=sert;
break;
}
}
if(j<0)
{
arrn[0]=sert;
}
for(int i=0;i<=n;i++)
{
printf("%d ",arrn[i]);
}
return 0;
}题目解析:
题目链接:筛选法求素数_牛客题霸_牛客网
题目描述:

题目示例:

代码演示:
//筛选法
#include <stdio.h>
int main()
{
int n = 0;
while (scanf("%d", &n) != EOF) {
int arr[101] = { 0 };
int count = 0;
for (int i = 2;i <= n;i++)
{
arr[i] = i;
}
for (int i = 2;i <= n;i++)
{
for (int k = i+1;k <= n;k++)
{
if (arr[k]%i == 0)
{
arr[k] = 0;
}
}
}
for (int j = 2;j <= n;j++)
{
if (arr[j] != 0)
printf("%d ", arr[j]);
else
count++;
}
printf("\n");
printf("%d", count);
}
return 0;
}题目解析:
试除法:
#include<stdio.h>
int is_prime(int n)
{
int i = 0;
for(i=2; i<n; i++)
{
if(n%i == 0)
return 0;
}
return 1;
}
int main()
{
int n = 0;
//题目相当于打印n以内的素数
while(scanf("%d", &n) != EOF)
{
int i = 0;
int count = 0;
for(i=2; i<=n; i++)
{
if(is_prime(i)==1)
{
printf("%d ", i);
}
else
{
count++;
}
}
printf("\n%d\n", count);
}
return 0;
}题目链接:图像相似度_牛客题霸_牛客网
题目描述:

题目示例:

代码演示:
#include <stdio.h>
int main()
{
int m=0;
int n=0;
int arr1[100][100]={0};
int arr2[100][100]={0};
scanf("%d %d",&m,&n);
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
scanf("%d ",&arr1[i][j]);
}
}
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
scanf("%d ",&arr2[i][j]);
}
}
int count=0;
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
if(arr1[i][j]==arr2[i][j])
{
count++;
}
}
}
double silm=(1.0*count)/(m*n)*100.0;
printf("%.2lf\n",silm);
return 0;
}题目解析:
题目链接:登录验证_牛客题霸_牛客网
题目描述:

题目示例:

代码演示:
#include <stdio.h>
#include<string.h>
int main()
{
char id[20]={0};
char key[20]={0};
while (scanf("%s %s", id, key) != EOF) {
if(strcmp(id,"admin")==0&&strcmp(key,"admin")==0)
{
printf("Login Success!");
}
else {
printf("Login Fail!");
}
}
return 0;
}题目解析:
题目链接:包含数字9的数_牛客题霸_牛客网
题目描述:

代码演示:
#include <stdio.h>
int main()
{
int count=0;
for(int i=1;i<=2019;i++)
{
int m=i;
while(m>0)
{
if(m%10==9)
{
count++;
break;
}
else {
m/=10;
}
}
}
printf("%d",count);
return 0;
}题目解析:
题目链接:奇偶统计_牛客题霸_牛客网
题目描述:

题目示例:

代码演示:
方法1:
#include <stdio.h>
int main()
{
int n=0;
while (scanf("%d", &n) != EOF) {
int odd_count=0;
int xdd_count=0;
for(int i=1;i<=n;i++)
{
if(i%2==0)
{
xdd_count++;
}
else {
odd_count++;
}
}
printf("%d %d",odd_count,xdd_count);
}
return 0;
}方法2:
#include <stdio.h>
int main()
{
int n = 0;
scanf("%d", &n);
int i = 0;
int odd = 0;//奇数的个数
if(n%2==0)
odd = n/2;//如果n是偶数,则奇数和偶数一样多
else
odd = n/2+1;//如果n是奇数,则奇数比偶数多1
printf("%d %d\n", odd, n-odd);
return 0;
}题目解析:
往期回顾:
结语: 本篇文章就到此结束了,C语言刷题集专栏中的第八篇的题目比前面的都要难,但有了前面的基础,这样的难度也是在合理范围内的,大家应该都可以解决,非常适合刚学完C语言的朋友们拿来练手,提升自己的代码能力。