1输入一个整数(不超过10位),求它是几位数? #include<bits/stdc++.h> using namespace std; int main() int x; cin >X; intn;/求有几位数 n=0: while(x !=0) { c0ut<<X%10 x=X/10; } cout <n; return 0; 类似:对num的分解出每位数字 #include<bits/stdc++.h> using namespace std; int main() { int num; cin >>num; /对num的每位数字来进行分解 while(num!=0)/∥当num为0时,表示这个数已经分解完毕 { intx=num%10;/输出当前num的个位 cout <<x <<endl; num=num/10;/把num的位数缩小一位 return 0; } 21.4-20将该数各个位上数字反转得到一个新数 描述 给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式, 即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。 输入 输入共1行,一个整数N
1 输入一个整数(不超过 10 位),求它是几位数? #include<bits/stdc++.h> using namespace std; int main() { int x; cin >> x; int n ; //求有几位数 n= 0; while(x != 0) { cout << x %10 x= x /10; } cout << n; return 0; } 类似: 对 num 的分解出每位数字 #include<bits/stdc++.h> using namespace std; int main() { int num; cin >>num; //对 num 的每位数字来进行分解 while(num != 0) // 当 num 为 0 时,表示这个数已经分解完毕 { int x = num %10; //输出当前 num 的个位 cout <<x <<endl; num = num / 10; //把 num 的位数缩小一位 } return 0; } 2 1.4----20 将该数各个位上数字反转得到一个新数 描述 给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式, 即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例 2)。 输入 输入共 1 行,一个整数 N
-1000,000,000≤N≤1,000000,000. 输出 输出共1行,一个整数,表示反转后的新数。 样例输入 123 输出321 样例输入 380 输出-83 #include<bits/stdc++.h> using namespace std; int main() int x; cin >x; intn;/求有几位数 n=0; int temp; temp=x;/先保存x while(x !=0) { n=n+1; x=X/10: } int sum;/存放新数 sum =0; int t; while(temp !=0) { sumsum (temp 10)*pow(10,n-1); temp=temp/10; n=n-1; } cout <sum <endl; return 0; 31.5---17 求菲波那契数列中第k个数 描述 菲波那契数列是指这样的数列:数列的第一个和第二个数都为1,接下来每个数都等于前面 2个数之和 给出一个正整数k,要求菲波那契数列中第k个数是多少。 输入
-1,000,000,000 ≤ N≤ 1,000,000,000。 输出 输出共 1 行,一个整数,表示反转后的新数。 样例输入 123 输出 321 样例输入 -380 输出-83 #include<bits/stdc++.h> using namespace std; int main() { int x; cin >> x; int n ; //求有几位数 n= 0; int temp; temp = x; //先保存 x while(x != 0) { n = n + 1; x= x /10; } int sum; //存放新数 sum = 0; int t; while(temp != 0) { sum = sum + (temp % 10) * pow(10,n-1) ; temp = temp / 10; n = n -1; } cout << sum << endl; return 0; } 3 1.5-----17 求菲波那契数列中第 k 个数 描述 菲波那契数列是指这样的数列: 数列的第一个和第二个数都为 1,接下来每个数都等于前面 2 个数之和。 给出一个正整数 k,要求菲波那契数列中第 k 个数是多少。 输入
输入一行,包含一个正整数k。(1<=k<=46) 输出 输出一行,包含一个正整数,表示菲波那契数列中第k个数的大小 样例输入 19 样例输出 4181 #include<bits/stdc++.h> using namespace std; int main() int n; cin >n; int f1,f2; f1=1; f2=1; int temp; for(int i=3;i<=n;i++) { temp=f2;/现将f2保存下俩 f2=f1+f2; f1 temp; } cout <f2 <endl; return 0; } 41.5-6长度为n的非负整数序列,求序列的最大跨度值(最大跨度值=最大值减去最 小值) 描述 给定一个长度为的非负整数序列,请计算序列的最大跨度值(最大跨度值=最大值减去 最小值)。 输入 一共2行,第一行为序列的个数n(1<=n<=1000),第二行为序列的n个不超过1000的非 负整数,整数之间以一个空格分隔。 输出 输出一行,表示序列的最大跨度值。 样例输入 6 308759 样例输出
输入一行,包含一个正整数 k。(1 <= k <= 46) 输出 输出一行,包含一个正整数,表示菲波那契数列中第 k 个数的大小 样例输入 19 样例输出 4181 #include<bits/stdc++.h> using namespace std; int main() { int n; cin >> n; int f1,f2; f1 = 1; f2 = 1 ; int temp; for(int i = 3; i <= n ;i++) { temp = f2; //现将 f2 保存下俩 f2 = f1 + f2; f1 = temp; } cout << f2 << endl; return 0; } 4 1.5----6 长度为 n 的非负整数序列,求序列的最大跨度值(最大跨度值 = 最大值减去最 小值) 描述 给定一个长度为 n 的非负整数序列,请计算序列的最大跨度值(最大跨度值 = 最大值减去 最小值)。 输入 一共 2 行,第一行为序列的个数 n(1 <= n <= 1000),第二行为序列的 n 个不超过 1000 的非 负整数,整数之间以一个空格分隔。 输出 输出一行,表示序列的最大跨度值。 样例输入 6 3 0 8 7 5 9 样例输出
9 #include<bits/stdc++.h> using namespace std; int main() int i; intn;/数的个数 int max; int min; intx;/输入的数 cin >n; cin >>x; max =x; min=x;/最大值和最小值,初始值为第一个数 for(i=2;i<=n;i++) { cin >xj if(x>max max=x; if(x<min)min =x; cout <max-min <endl; return 0; } 分析:循环体中的cin>x能否放在if的后面? 51.4-12输出一个整数序列中与指定数字相同的数的个数 输入 输入包含2行: 第1行为N和m,表示整数序列的长度(N<=100)和指定的数字,中间用一个空格分开: 第2行为N个整数,整数之间以一个空格分开。 输出 输出为N个数中与m相同的数的个数。 样例输入 32 232 样例输出 2 #include<bits/stdc++.h> using namespace std; int main() int n;
9 #include<bits/stdc++.h> using namespace std; int main() { int i; int n; //数的个数 int max; int min; int x;//输入的数 cin >> n; cin >> x; max = x; min = x; //最大值和最小值,初始值为第一个数 for(i = 2; i <= n ;i ++) { cin >> x; if( x > max ) max = x; if( x < min) min = x; } cout << max - min << endl; return 0; } 分析:循环体中的 cin >> x 能否放在 if 的后面? 5 1.4-----12 输出一个整数序列中与指定数字相同的数的个数 输入 输入包含 2 行: 第 1 行为 N 和 m,表示整数序列的长度(N <= 100)和指定的数字, 中间用一个空格分开; 第 2 行为 N 个整数,整数之间以一个空格分开。 输出 输出为 N 个数中与 m 相同的数的个数。 样例输入 3 2 2 3 2 样例输出 2 #include<bits/stdc++.h> using namespace std; int main() { int n;
int num; int x; int count=0;/统计与指定的数相同的个数 cin>>n;/数的个数 cin >num; inti好 for(i=1;i<=n;i++) { cin >x; if(x==num) { count ++ } cout <count <endl; return 0; 61.5--15总值为M的钱,投资Y年的收益 描述 农夫约翰在去年赚了一大笔钱!他想要把这些钱用于投资,并对自己能得到多少收益感到好 奇。己知投资的复合年利率为R(0到20之间的整数)。约翰现有总值为M的钱(100到 1,000,000之间的整数)。他清楚地知道自己要投资Y年(范围0到400)。请帮助他计算 最终他会有多少钱,并输出它的整数部分。数据保证输出结果在32位有符号整数范围内。 输入 一行包含三个整数R,M,Y,相邻两个整数之间用单个空格隔开。 输出 一个整数,即约翰最终拥有多少钱(整数部分)。 样例输入 550004 样例输出 6077 #include<bits/stdc++.h> using namespace std; int main() { intr,m,y/r:利率,m:钱数目,y:年限 cin >>r>>m>>y; int i; double money; money m; for(i=1;i<=y;i++) moneymoney *(1+r/100.0);
int num; int x; int count = 0; //统计与指定的数相同的个数 cin >> n; //数的个数 cin >> num; int i; for(i = 1; i <= n; i ++) { cin >> x; if( x == num) { count ++ ; } } cout << count << endl; return 0; } 6 1.5------15 总值为 M 的钱,投资 Y 年的收益 描述 农夫约翰在去年赚了一大笔钱!他想要把这些钱用于投资,并对自己能得到多少收益感到好 奇。已知投资的复合年利率为 R(0 到 20 之间的整数)。约翰现有总值为 M 的钱(100 到 1,000,000 之间的整数)。他清楚地知道自己要投资 Y 年(范围 0 到 400)。请帮助他计算 最终他会有多少钱,并输出它的整数部分。数据保证输出结果在 32 位有符号整数范围内。 输入 一行包含三个整数 R,M,Y,相邻两个整数之间用单个空格隔开。 输出 一个整数,即约翰最终拥有多少钱(整数部分)。 样例输入 5 5000 4 样例输出 6077 #include<bits/stdc++.h> using namespace std; int main() { int r,m,y;//r:利率, m:钱数目,y:年限 cin >> r >> m >> y; int i; double money; money = m; for( i= 1; i <= y; i ++) { money = money * (1+r/100.0);