没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐

2022.02.18
HJ1 字符串最后一个单词的长度
描述
计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于 5000。(注:字符串末
尾不以空格为结尾)
输入描述:
输入一行,代表要计算的字符串,非空,长度小于 5000。
输出描述:
输出一个整数,表示输入字符串最后一个单词的长度。
C 代码题解:
#include <stdio.h>
#include <string.h>
int main(void)
{
char str[5000] = {0};
char *str_p = str;
int count = 0;
fgets(str, sizeof(str), stdin);
int str_len = strlen(str) - 1;//减去换行符
if (str_len <= 0) {
printf("0\n");
return 0;
}
str_p = str_p + str_len - 1;
for (int i = 0; i < str_len; i++) {
if (*str_p != ' ')
count++;
else
break;
str_p--;
}
printf("%d\n", count);
return 0;
}

C++题解
#include<bits/stdc++.h>
using namespace std;
int main() {
string s;
while(cin >> s);
cout << s.size();
return 0;
}
HJ2 计算某字符出现次数
描述
写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字
符串中该字符的出现次数。(不区分大小写字母)
数据范围: 1≤n≤1000
输入描述:
第一行输入一个由字母和数字以及空格组成的字符串,第二行输入一个字符。
输出描述:
输出输入字符串中含有该字符的个数。(不区分大小写字母)
C++题解
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s;
getline(cin, s);
char c = tolower(getchar());
int n = 0;
for (auto i : s) {
if (tolower(i) == c) {
++n;

}
}
cout << n << endl;
}
C 题解
#include "stdio.h"
#include "string.h"
#define cmp ('a'-'A')
#define Cmin(x,y) ((x>y?x:y)-(x<y?x:y))
int main(void)
{
char str[1024]={0},C='\0';
int count=0;
fgets(str,sizeof(str), stdin);
scanf("%c",&C);
for(int i=0;i<strlen(str);i++)
if(Cmin(str[i],C)==cmp||(str[i]-C)==0)
count++;
printf("%d",count);
return 0;
}
HJ3 明明的随机数
描述
明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了
N 个 1 到 1000 之间的随机整数( N≤1000 ),对于其中重复的数字,只保留一个,把其
余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照
排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作(同一个测试用例里
可能会有多组数据(用于不同的调查),希望大家能正确处理)。
注:测试用例保证输入参数的正确性,答题者无需验证。测试用例不止一组。
当没有新的输入时,说明输入结束。
数据范围: 1≤n≤1000 ,输入的数字大小满足 1≤val≤500
输入描述:

注意:输入可能有多组数据(用于不同的调查)。每组数据都包括多行,第一行先输入随机整
数的个数 N ,接下来的 N 行再输入相应个数的整数。具体格式请看下面的"示例"。
输出描述:
返回多行,处理后的结果
C 题解
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int main()
{
int n;
int a;
//以数组下标来存储随机数,下标对应的数组值为 1,来说明是否是存储的随机数
while(~scanf("%d", &n))
{
int count[1001] = {0};
int i;
for (i = 0; i < n; i++)
{
scanf("%d", &a);
count[a] = 1;
}
for (i = 0; i < 1001; i++)
{
if (count[i] == 1)
{
printf("%d\n", i);
}
}
}
return 0;
}
C++题解
/*
本文系「人工智能安全」(微信公众号)原创,转载请联系本文作者(同博客作者)。
欢迎你转发分享至朋友圈,并给予「关注、星标、点赞」三连支持。互相欣赏,互相批判。
我是一名有诗人气质的网络安全工程师
期待与你的思想交流碰撞出智慧的花火

水木清华
2020-03-12
明明的随机数
*/
#include <iostream>
using namespace std;
//有序数组的接口
int RankedArray(int n)
{
int random_num; //输入随机数
//初始化一个数组,用于表示随机数集合中的元素(某个 0~1000 之间的随机整数)的有
无情况
int a[1001] = {0};
//连续输入 n 个随机整数
while (n--)
{
cin >> random_num;
//数组的下标等于输入的随机整数,下标对应的元素为 1 表示该随机整数存在
a[random_num] = 1;
}
//按从小到大的顺序,依次输出随机数集合(数组)中所包含的随机整数
for (int i = 0; i < 1001; i++)
{
if (a[i] == 1)
{
cout << i << endl;
}
}
return 0;
}
//主函数
int main()
{
int n; //输入随机数的个数
while(cin >> n)
{
RankedArray(n); //调用有序数组的接口
}
return 0;
}
剩余346页未读,继续阅读





大个儿卫
- 粉丝: 2
- 资源: 1
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


会员权益专享
安全验证
文档复制为VIP权益,开通VIP直接复制

评论0