C++程序设计实验2

简介: C++程序设计实验2

【问题描述】

写一函数求sinh(x)的值,求sinh(x)的近似公式为:sinh(x)=(ex - e-x)/2,其中用一个函数求ex

【输入形式】

输入x值

【输出形式】

输出sinh(x)的值

【样例输入】

1

【样例输出】

1.1752

【样例输入】

2

【样例输出】

3.62686

1. #include<bits/stdc++.h>
2. using namespace std;
3. double s (double x)
4. {
5.  double sum;
6.  sum=(exp(x)-exp(-x))/2;
7.  return sum;
8. }
9. int main()
10. {
11.   double x;
12.   cin>>x;
13.   cout<<s(x)<<endl;
14.   return 0;
15.  }

【问题描述】

编写函数int sum(int x),求整数x的各位数字之和。

在main函数中测试该函数:从键盘输入一非负整数,然后调用sum函数计算各位数字之和并输出结果。

【输入形式】

输入一个正整数。

【输出形式】

输出该整数各位数字之和。

【样例输入】

58

【样例输出】

13

【样例说明】

输入整数58,其各位数字之和为:5+8 = 13。

1. #include<bits/stdc++.h>
2. using namespace std;
3. double sum(string a)
4. {
5.  double sum=0;
6.  int len=a.length();
7.  for(int i=0;i<len;i++)
8.  {
9.    a[i]=a[i]-'0';
10.     sum=sum+a[i];
11.   }
12.   return sum;
13. }
14. int main()
15. {
16.   string a;
17.   cin>>a;
18.   cout<<sum(a)<<endl;
19.   return 0;
20.  }

【问题描述】

编写函数fac(n),用递归法求出n的阶乘.在程序中使用此函数,将输入的整数n的阶乘求出并输出到控制台.

【输入形式】

控制台输入整数n

【输出形式】

控制台输出n!

【样例输入】

5

【样例输出】

120

【样例说明】

5! = 120

递归解法

1. #include<bits/stdc++.h>
2. using namespace std;
3. int c (int x)
4. {
5.  if(x==1)
6.  {
7.    return x;
8.  }
9.  else
10.   {
11.     return x*c(x-1);
12.   }
13. }
14. int main()
15. {
16.   int x;
17.   cin>>x;
18.   cout<<c(x)<<endl;
19.   return 0;
20. }

迭代解法

1. #include<bits/stdc++.h>
2. using namespace std;
3. int c (int x)
4. {
5.  int i=1;
6.  int sum=1;
7.  while(i<=x)
8.  {
9.    sum=sum*i;
10.     i++;
11.   }
12.   return sum;
13. }
14. int main()
15. {
16.   int x;
17.   cin>>x;
18.   cout<<c(x)<<endl;
19.   return 0;
20. }

 

【问题描述】

   编写一个函数invert(s),颠倒输入的字符串参数s后返回。在main()函数中测试此函数:从键盘输入一个正整数n(n∈[1,20]),然后再输入n个字符串(长度不大于100),对于每一个字符串,然后调用invert函数进行颠倒字符串操作,将颠倒后的字符串打印在屏幕上。

【输入形式】

   从键盘输入整数n,然后再输入n个字符串,每行一个字符串。

【输出形式】

   输出各个字符串颠倒以后的字符串,每个字符串之间用换行符隔开。

【输入样例】

3

1AdkflsddfYjkdfDD

aaaaaaaaaaAAAAAAAAAA

12345678aBc

【输出样例】

DDfdkjYfddslfkdA1

AAAAAAAAAAaaaaaaaaaa

cBa87654321

【样例说明】

   因为输入n为3,故输入3个字符串。将字符串"1AdkflsddfYjkdfDD"首尾颠倒后的结果是"DDfdkjYfddslfkdA1";将字符串"aaaaaaaaaaAAAAAAAAAA"首尾颠倒后的结果是"AAAAAAAAAAaaaaaaaaaa";将字符串"12345678aBc"首尾颠倒后的结果是"cBa87654321";故输出:

DDfdkjYfddslfkdA1

AAAAAAAAAAaaaaaaaaaa

cBa87654321

1. #include<bits/stdc++.h>
2. using namespace std;
3. void invert (string a)
4. {
5.  int len=a.length();
6.  for(int i=len-1;i>=0;i--)
7.  {
8.    cout<<a[i];
9.  }
10. }
11. int main()
12. {
13.   int n;
14.   cin>>n;
15.   string a[n];
16.   for(int i=0;i<n;i++)
17.   {
18.     cin>>a[i];
19.   }
20.   for(int i=0;i<n;i++)
21.   {
22.     invert(a[i]);
23.     if(i<n-1)
24.     {
25.       cout<<endl;
26.     }
27.   }
28.   return 0;
29.  }

【问题描述】

编写一个函数isprime(n).判断整数n是否为素数.编写程序使用此函数,当输入一个整数时,对它进行判断,当为素数时,输出1.否则,输出0.

【输入形式】

控制台输入一个整数.

【输出形式】

控制台输出判断结果0或者1.

【样例输入】

45

【样例输出】

0

【样例说明】

45非素数,故输出为0

1. #include<bits/stdc++.h>
2. using namespace std;
3. int check (int x)
4. {
5.  if(x==1)
6.  {
7.    return 0;
8.  }
9.  for(int i=2;i*i<=x;i++)
10.   {
11.     if(x%i==0)
12.     {
13.       return 0;
14.     }
15.   }
16.   return 1;
17. }
18. int main()
19. {
20.   int x;
21.   cin>>x;
22.   cout<<check(x);
23.   return 0;
24. }

【问题描述】

所谓"回文数"是指具有如下性质的整数:一个整数,当它的各位数字逆序排列,形成的整数与原整数相同,这样的数称为回文数。例如,素数11,373,其各位数字对换位置后仍然为11,373,因此这两个整数均为回文数。编写函数int loop(int x),判断一个整数是否为回文数,如果x是回文数则返回1,否则返回0。编写程序loop.c,接收控制台输入的两个整数a,b。调用loop函数输出a到b之间(包括a和b)的所有为偶数的回文数。

【输入形式】

控制台输入两个整数a和b(必有a<b),以空格分隔。

【输出形式】

输出有若干行,每行有一个a和b之间的回文数。输出各行上的数字不重复,且从小至大依次按序输出。

【样例输入】

3 120

【样例输出】

4

6

8

22

44

66

88

【样例说明】

输入整数a=3,b=120,要求输出所有[3, 120]之间的为偶数的回文数。按升序分行输出所有符合题意的整数。

1. #include<bits/stdc++.h>
2. #include<string>
3. using namespace std;
4. int  loop (int x)
5. {
6.  int temp=x,sum=0;
7.  while(x)
8.  {
9.    sum=sum*10+x%10;
10.     x=x/10;
11.   }
12.   if(temp==sum&&temp%2==0)
13.   {
14.     return 1;
15.   }
16.   else
17.   {
18.     return 0;
19.   }
20. }
21. int main()
22. {
23.   int x,y;
24.   cin>>x>>y;
25.   for(int i=x;i<=y;i++)
26.   {
27.     if(loop(i))
28.     {
29.       cout<<i<<endl;
30.     }
31.   }
32.   return 0;
33. }
相关文章
|
5月前
|
算法 开发工具 计算机视觉
【零代码研发】OpenCV实验大师工作流引擎C++ SDK演示
【零代码研发】OpenCV实验大师工作流引擎C++ SDK演示
84 1
|
5月前
|
C++
C++ : 程序设计简单实例
C++ : 程序设计简单实例
44 3
|
5月前
|
安全 C++
C++:程序设计实例
C++:程序设计实例
53 2
|
5月前
|
C++
C++程序设计实践一上(题目来自杭州电子科技大学ACM)
C++程序设计实践一上(题目来自杭州电子科技大学ACM)
38 2
|
5月前
|
存储 搜索推荐 C++
C++课程设计实验杭州电子科技大学ACM题目(中)
C++课程设计实验杭州电子科技大学ACM题目(中)
34 1
|
5月前
|
C++
C++程序设计实践一下(题目来自杭州电子科技大学ACM)
C++程序设计实践一下(题目来自杭州电子科技大学ACM)
45 1
|
6月前
|
C++
【期末不挂科-C++考前速过系列P6】大二C++实验作业-模板(4道代码题)【解析,注释】
【期末不挂科-C++考前速过系列P6】大二C++实验作业-模板(4道代码题)【解析,注释】
【期末不挂科-C++考前速过系列P6】大二C++实验作业-模板(4道代码题)【解析,注释】
|
5月前
|
存储 JavaScript 前端开发
程序与技术分享:C++程序设计实验考试准备资料(2019级秋学期)
程序与技术分享:C++程序设计实验考试准备资料(2019级秋学期)
|
5月前
|
C++
技术经验分享:C++程序设计的技巧
技术经验分享:C++程序设计的技巧
38 0
|
5月前
|
存储 算法 安全
面向对象程序设计C++
面向对象程序设计C++