//1.    调用函数实现判定用户输入的正整数是否为“回文数“,所谓“回文数”是指正读反读都相同的数。 (25分)
bool hw(string s) {
for (int i = 0; i < (s.length()) / 2; i++) {
if (s[i] != s[s.length() - 1 - i]) {
return false;
}
}
return true;
}
int main()
{
string s;
cin >> s;
cout<<hw(s);
}
**************************************************
bool hw() {
string s;
cout << "请输入一行数字" << endl;
cin >> s; for (int i = 0; i < s.length() / 2.0; i++) {
if (s[i] != s[s.length() - i - 1]) {
cout << "该数是不回文数" << endl;
return false;
}
}
cout << "该数是回文数" << endl;
return true;
} //2. 编程实现从键盘输入一行字符,统计其中有多少个单词,单词之间用空格分隔。
int main() {
string s;
cin >> s;
getline(cin,s);
int count = 1;
for (int i = 0; i < s.length(); i++) {
if (s[i] == ' ') {
count += 1;
}
}
cout << count;
} //3. 计算一个字符串中子串出现的次数。 注意:strstr(str1,str2) 此时千万要记住,这是在判断str2是否是str1的子串!!
int count(char* str1, char * str2) {
int len = strlen(str2);
int n = 0;
while (str1 = strstr(str1, str2)) {
n += 1;
str1 += len;
}
return n;
}
int main() {
char str1[100];
char str2[100];
cin >>str1;
cin >>str2;
cout<<count(str1,str2);
} **********************************
char str1[100];
char str2[100];
cout << "请输入父串" << endl;
cin >> str1;
//gets_s(str1); cout << "请输入子串" << endl;
cin >> str2;
//gets_s(str2);
int a=countshu(str1, str2);
cout << a << endl; //4. 从键盘输入一行字符,将字符数组a中下标值为偶数的元素从小到大排列,其它元素不变。
int main() {
int arr[10];
for (int i = 0; i < 10; i++) {
cin >> arr[i];
}
for (int i = 0; i < 10; i++) {
cout << arr[i]<<"\t";
} for (int i = 0; i < 8; i+=2) {
for (int j = 0; j < 10 - 2 - i; j+=2) {
if (arr[j] > arr[j + 2]) {
int temp = arr[j];
arr[j] = arr[j + 2];
arr[j + 2] = temp;
}
}
}
cout << "\n";
for (int i = 0; i < 10; i++) {
cout << arr[i]<<"\t";
}
}
5.使用指针比较2个数的大小,并输出最大的数。
int *p1,*p2;
int *p; //临时指针
int a,b;
cout << "input a: " << endl;
cin >> a;
cout << "input b: " << endl;
cin >> b;
p1=&a;p2=&b;
if(a<b)
{
p=p1;
p1=p2;
p2=p;
}
cout << "a=" << a;
cout << " ";
cout << "b=" << b;
cout << endl;
cout << "较大的数:" << *p1 << "较小的数: "<< *p2 <<endl;
6.//2. 输入6个数,输出6个数,调用排序函数对6个数进行冒泡排序,并输出排序后的值,要求形参为指针变量。 (共50分)
//输入正确 10分
//输出正确 10分
//排序函数正确 20分
//输出排序后值 10分
void zhizhen(char *arr) {
int temp;
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5-i; j++) {
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
cout << "排序后" << endl;
for (int i= 0; i < 6; i++) {
cout << arr[i] << "\t";
}
} cout << "请输入6个数" << endl;
char arr[6];
for (int i = 0; i < 6; i++) {
cin >> arr[i];
}
cout << "排序前" << endl;
for (int i = 0; i < 6; i++) {
cout << arr[i] << "\t";
}
zhizhen(arr);
6.编写一个函数用递归的方法求1+2+3+4+…+n的值。在主函数中进行输入输出。
int digui(int a) {
if (a==1) {
return 1;
}
return a + digui(a - 1);
} int a=digui(100);
cout << a;
7.编写一个函数power(float x,int n),用于计算x的n次幂。在主函数中实现输入输出
float power(float x ,int n) {
float sum = 0;
sum=pow(x, n);
cout << "幂次方" << sum;
return sum;
} cout << "请输入一个数" << endl;
int n,x;
cin >> x;
cout << "请输入次方数" << endl;
cin >> n;
power(x, n);
8.1. 定义一个学生成绩类Score,描述学生成绩的公有数据成员为学号(No)、姓名(Name[8])、数学(Math)、物理(Phi)、总分(Sum)。在主函数中用Score类定义学生成绩对象数组s[3],输入学生成绩,计算每个学生的总分,最后显示每个学生的成绩。 (100分)
定义学生成绩类 20分
定义类对象数组 10分
输入学生成绩 25分
计算每个学生的总分 20
显示每个学生的成绩 25
class Score {
public:
int Num;
char Name[8];
int Math;
int Poi;
int Sum;
int Total;
Score(int Num,char *name,int Math,int Poi,int Sum) {
this->Num = Num;
this->Math = Math;
this->Poi = Poi;
this->Sum = Sum;
strcpy_s(Name, name);
}
void sum() {
Total = Num + Math + Poi;
}
void show() {
cout << "学号=" << Num << ",姓名=" << Name << ",数学=" << Math << ",物理=" << Poi << ",总分=" << Total << endl;
}
};
int main()
{
char name[10] = "MH";
Score s1 = Score(1001, name, 100, 98, 97);
s1.sum();
s1.show();
}

c++基础技能练习详解(回文数,字符串计数,指针比大小,递归求和,类的应用)的更多相关文章

  1. python基础练习题(题目 回文数)

    day21 --------------------------------------------------------------- 实例030:回文数 题目 一个5位数,判断它是不是回文数.即 ...

  2. Newtonsoft.Json C# Json序列化和反序列化工具的使用、类型方法大全 C# 算法题系列(二) 各位相加、整数反转、回文数、罗马数字转整数 C# 算法题系列(一) 两数之和、无重复字符的最长子串 DateTime Tips c#发送邮件,可发送多个附件 MVC图片上传详解

    Newtonsoft.Json C# Json序列化和反序列化工具的使用.类型方法大全   Newtonsoft.Json Newtonsoft.Json 是.Net平台操作Json的工具,他的介绍就 ...

  3. C语言实现计算双基回文数详解

    双基回文数的定义: 如果一个正整数n至少在两个不同的进位制(二进制<=进制=<十进制)b1和b2下都是回文数,则称n是双基回文数. 根据定义,简单的说就是在二进制到十进制之间(包括十进制和 ...

  4. lqb 基础练习 回文数

    基础练习 回文数 时间限制:1.0s   内存限制:512.0MB     问题描述 1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数. 输出格式 按从小到大的顺 ...

  5. lqb 基础练习 特殊回文数

    基础练习 特殊回文数 时间限制:1.0s   内存限制:512.0MB     问题描述 123321是一个非常特殊的数,它从左边读和从右边读是一样的. 输入一个正整数n, 编程求所有这样的五位和六位 ...

  6. Java实现蓝桥杯基础练习特殊回文数

    基础练习 特殊回文数 时间限制:1.0s 内存限制:512.0MB 提交此题 锦囊1 锦囊2 问题描述 123321是一个非常特殊的数,它从左边读和从右边读是一样的. 输入一个正整数n, 编程求所有这 ...

  7. JAVA 基础编程练习题25 【程序 25 求回文数】

    25 [程序 25 求回文数] 题目:一个 5 位数,判断它是不是回文数.即 12321 是回文数,个位与万位相同,十位与千位相同. package cskaoyan; public class cs ...

  8. hadoop基础-SequenceFile详解

    hadoop基础-SequenceFile详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.SequenceFile简介 1>.什么是SequenceFile 序列文件 ...

  9. leetcode-479-Largest Palindrome Product(找到两个乘数相乘得到的最大的回文数)

    题目描述: Find the largest palindrome made from the product of two n-digit numbers. Since the result cou ...

  10. Cisco路由技术基础知识详解

    第一部分 请写出568A的线序(接触网络第一天就应该会的,只要你掐过,想都能想出来) .网卡MAC地址长度是(  )个二进制位(16进制与2进制的换算关系,只是换种方式问,不用你拿笔去算) A.12  ...

随机推荐

  1. ADE-XL bsub提交超时

    查找命令行log, Fatal server error: could not open default font 'fixed' 解决方案: yum install 'xorg-x11-font*'

  2. 雪花算法-Java分布式系统自增id

    1.雪花算法的用途 分布式系统中ID生成方案,比较简单的是UUID(Universally Unique Identifier,通用唯一识别码),但是其存在两个明显的弊端: 一.UUID是128位的, ...

  3. 如何用python将txt中的package批量安装

    第一步:cd 到目标路径 第二步:新建一个requirement.txt文档,将所有要下载的包一一罗列出来(需要指定版本的话,可以用==表明) 第三步:输入命令  pip install -r req ...

  4. QDir类和方法应用

    QDir类提供了访问系统目录结构及其内容的与平台无关的方式. 头文件:#include <qdir.h> QDir类用来操作路径名及底层文件系统,获取关于目录路径及文件的相关信息,也可以用 ...

  5. sxt_(001_003)_spring_ioc

    一.spring简介 Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架.Spring框架是由于软件开发的复杂性而创建的.Spring使用的是基本的JavaBean来完成以前只可 ...

  6. ptyhon基础课程_2

    10 输入 # 例一 user_name = input ("请输入姓名:") message = user_name + "shaobing" print ( ...

  7. IaaS--云上虚拟网络(何恺铎《深入浅出云计算》笔记整理)

    [概念] 虚拟私有网络(Virtual Private Cloud,简称 VPC),是云计算网络端最重要的概念之一,它是指构建在云上的.相互隔离的.用户可以自主控制的私有网络环境.虚拟私有网络有时也称 ...

  8. 夸克开发板 FaceDetectOnTft.py 测试

    ① 连接usb 摄像头,执行 dmesg | grep -i video 查看设备识别情况 同时可看到 frame buffer 显示设备(自带的 tft LCD)名称 ② 摄像头识别的设备名为, / ...

  9. 【rocky linux】firewalld切换到iptables 以及Failed to start IPv4 firewall with iptables.

    关闭[firewalld],安装iptables并启动 #关闭自带 firewall systemctl stop firewalld systemctl mask firewalld#显示当前 fi ...

  10. linux 软链接 硬链接 区别

    来源  https://www.cnblogs.com/oceanftd/p/13475643.html 相关概念: 链接:简单说,链接就是一种文件共享的方式,是POSIX中的概念,主流文件系统都支持 ...