//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. 使用EmguCV3.0.0调用摄像头并设置帧率

    此教程使用emgu3.0.0,其他版本兼容性未知. 转载请注明出处: http://www.cnblogs.com/zaiyuzhong/p/open-camera-with-emgu3_0_0.ht ...

  2. 关于idea2021.1版本的左边不显示bpmn Editor的问题

    我这里是自定义主题风格出现的问题 idea左上角File→选择setting→找到Color Scheme菜单,将主题颜色改为IntelliJ Light.在重启idea就好

  3. KingbaseES V8R3集群运维案例之---kingbase_monitor.sh启动”two master“案例

    案例说明: KingbaseES V8R3集群,执行kingbase_monitor.sh启动集群,出现"two master"节点的故障,启动集群失败:通过手工sys_ctl启动 ...

  4. java-文件IO常用操作对比

    文件IO中,常用的方法如下方代码中的readMethod1~8方法所示. 测试了2.5M读100次.100M读3次.250M读1次三种情况,耗时(单位:毫秒)如下: 2.5M读100次 2.5M读10 ...

  5. john破解linux用户密码

    John是kali-linux自带的密码破解工具,支持密码本破解.Linux的系统账户在/etc/passwd中,密码存于/etc/shadow中. 以下操作为例: (1)创建一个账户,

  6. drf Serializer基本使用

    drf序列化 在前后端不分离的项目中,可以使用Django自带的forms组件进行数据验证,也可以使用Django自带的序列化组件对模型表数据进行序列化. 那么在前后端分离的项目中,drf也提供了数据 ...

  7. word文件打开报错:abnormal program termination

    部分word文件打开后报错 处理方法 1.更改默认打印机 2.调整开机启动项 取消该项:cyberkI guard service的开机自启动 (赛博昆仑安全软件) 3.调整word的COM加载项

  8. start-stop服务器启动

    springBoot打成jar包扔到linux服务器 start.sh nohup java -Dfile.encoding=utf-8  -jar XXX-1.0-SNAPSHOT.jar > ...

  9. Spring Boot注册Servlet、Filter、Listener原理

    如何使用 在Spring Boot中注册Servlet.Filter办法主要有3种,下面来看下具体例子,例子都采用Filter,Servlet同理. 第一种,使用FilterRegistrationB ...

  10. CUDA kernel使用printf调试,一定要加cudaDeviceSynchronize

    #include <stdio.h> __global__ void print() { printf("Hello from (%d, %d)\n", blockId ...