【问题描述】
写一函数求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. }