当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

广州开放大学:《C语言程序设计》编程题及参考代码do-while for break continue 嵌套

资源类别:文库,文档格式:DOCX,文档页数:13,文件大小:24.79KB,团购合买
点击下载完整版文档(DOCX)

1输入一个整数(不超过10位),求它是几位数? #include using namespace std; int main() int x; cin >X; intn;/求有几位数 n=0: while(x !=0) { c0ut 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 using namespace std; int main() { int x; cin >> x; int n ; //求有几位数 n= 0; while(x != 0) { cout 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 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 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 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 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 using namespace std; int main() int i; intn;/数的个数 int max; int min; intx;/输入的数 cin >n; cin >>x; max =x; min=x;/最大值和最小值,初始值为第一个数 for(i=2;ixj if(x>max max=x; if(xx能否放在if的后面? 51.4-12输出一个整数序列中与指定数字相同的数的个数 输入 输入包含2行: 第1行为N和m,表示整数序列的长度(N using namespace std; int main() int n;

9 #include 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 > x; if( x > max ) max = x; if( x > x 能否放在 if 的后面? 5 1.4-----12 输出一个整数序列中与指定数字相同的数的个数 输入 输入包含 2 行: 第 1 行为 N 和 m,表示整数序列的长度(N using namespace std; int main() { int n;

int num; int x; int count=0;/统计与指定的数相同的个数 cin>>n;/数的个数 cin >num; inti好 for(i=1;ix; if(x==num) { count ++ } cout 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 > x; if( x == num) { count ++ ; } } cout 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);

} cout K。 NOIP2002复赛普及组第一题 描述 已知:Sn=1+1/2+1/3+.十1/n。显然对于任意一个整数K,当n足够大的时候,Sn 大于K。 现给出一个整数K(1K。 输入 一个整数K。 输出 一个整数n。 样例输入 1 样例输出 2 #include/C+的万能头文件 using namespace std; int main() { double sn=0: int i; int k; cin >>k; for(i=1::i++) sn=sn +1.0/i; if(sn>k) break: } } cout <<i <<endl: } 81.5--44求第n小的质数

} cout //C++的万能头文件 using namespace std; int main() { double sn = 0; int i; int k; cin >>k; for( i = 1; ; i ++) { sn = sn + 1.0/i; if( sn > k) { break; } } cout <<i <<endl; } 8 1.5----44 求第 n 小的质数

描述 输入一个正整数n,求第n小的质数。 输入 一个不超过10000的正整数n。 输出 第n小的质数。 样例输入 10 样例输出 29 includeIC++的万能头文件 using namespace std: int main() { int n; int count =0: cin>>n; for(int i=2;;i+) int flag=1; for(int j=2;j<=sqrt(i);j++) if(i%=0) flag=0; break; if(flag==1) count ++ } if(count==n) cout <<i<<endl: break;

描述 输入一个正整数 n,求第 n 小的质数。 输入 一个不超过 10000 的正整数 n。 输出 第 n 小的质数。 样例输入 10 样例输出 29 #include //C++的万能头文件 using namespace std; int main() { int n; int count = 0; cin >> n; for(int i = 2; ; i ++) { int flag = 1; for(int j = 2; j <= sqrt(i); j ++) { if(i % j == 0) { flag = 0; break; } } if( flag == 1) { count ++; } if( count == n) { cout << i <<endl; break; } }

9牛客网比赛题数字1到数字2021中,出现了多少个数字6 链接:https:/ac.nowcoder..com/acm/contest//13493/A 来源:牛客网 题目描述 今年是2021年,请问数字1到数字2021中,出现了多少个数字6。 输入描述 无 输出描述: 无 备注: 666中有三个6 答案:602 #include using namespace std: int main() { int i; int cnt =0: for(i=6:i<=2021:i++) { int t=i; while(t!=0) { ift%10=6) cnt++; t=t/10: } cout <cnt <endl: return 0; } 10 瓶盖兑换奖品

} 9 牛客网比赛题数字 1 到数字 2021 中,出现了多少个数字 6 链接:https://ac.nowcoder.com/acm/contest/13493/A 来源:牛客网 题目描述 今年是 2021 年,请问数字 1 到数字 2021 中,出现了多少个数字 6。 输入描述: 无 输出描述: 无 备注: 666 中有三个 6 答案:602 #include using namespace std; int main() { int i; int cnt = 0; for(i = 6; i<= 2021; i ++) { int t = i; while( t != 0) { if( t % 10 == 6) { cnt ++ ; } t = t / 10; } } cout << cnt << endl; return 0; } 10 瓶盖兑换奖品

某饮料公司最近推出了一个“收集瓶盖赢大奖”的活动:如果你拥有10个印有“幸运”、或20 个印有“鼓励”的瓶盖,就可以兑换一个神秘大奖。现分别给出你拥有的印有“幸运”和鼓励” 的瓶盖数,判断是否可以去兑换大奖。 【输入】 第一行,一个正整数n,表示接下来有n行数据:以下n行,每行包含两个整数,分别是印有 “幸运”和“鼓励”的瓶盖数,用一个空格隔开 【输出】 对于每行数据输出一行。若可以兑换大奖,输出True,否则输出False。 【输入样例】 2 1119 319 【输出样例】 True False 参考代码如下: #include/C++的万能头文件 using namespace std; int main() { int n; int nl,n2; cin >>n: for(inti=1;inl>>n2: ifnl>=10l川n2>=20) cout <<"True"<<endl: } else cout <<"False"<<endl: return 0:

某饮料公司最近推出了一个“收集瓶盖赢大奖”的活动:如果你拥有 10 个印有“幸运”、或 20 个印有“鼓励”的瓶盖,就可以兑换一个神秘大奖。现分别给出你拥有的印有“幸运”和“鼓励” 的瓶盖数,判断是否可以去兑换大奖。 【输入】 第一行,一个正整数 n,表示接下来有 n 行数据;以下 n 行,每行包含两个整数,分别是印有 “幸运”和“鼓励”的瓶盖数,用一个空格隔开 【输出】 对于每行数据输出一行。若可以兑换大奖,输出 True,否则输出 False。 【输入样例】 2 11 19 3 19 【输出样例】 True False 参考代码如下: #include //C++的万能头文件 using namespace std; int main() { int n; int n1,n2; cin >>n; for(int i = 1; i > n1 >> n2; if( n1 >= 10 || n2 >= 20) { cout << "True"<<endl; } else { cout << "False" << endl; } } return 0; }

11老鼠喝水STEMA样题 咪咪是一只聪明的小老鼠(什么什么?谁规定老鼠就不能叫咪咪了?真是!),她正在四处 找水喝呢.… 她发现了一些水罐,里面都有水。她趴在每个水罐口上都试了一遍,结果仍然一口水没喝到 一这些水罐里的水都很少,水面距离罐口太远,她用嘴够不着。这可怎么办呢? 如果是你,你是不是会想把水罐打翻?只可惜,咪咪只是一只小老鼠,没那么大力气呢。 不过,这也难不倒她,聪明的咪咪自然有办法:她转过身来,把尾巴放进去浸湿,再喝尾巴 上的水就好了,够聪明吧? 我们已知每个水罐里水面到水罐口的距离,还知道咪咪的尾巴最多可以伸进水罐口t厘米, 伸进尾巴的长度必须大于水面到水罐口的高度,咪咪才能喝到水。 根据这些条件,请你判断一下:有多少个水罐中的水可以被咪咪喝到? 【输入】 第一行为两个整数1/C+的万能头文件 using namespace std; int main() int n; int lenth,depth; int cnt =0: cin >>n; cin >lenth: for(inti=1:idepth: if(depth<lenth) {

11 老鼠喝水 STEMA 样题 咪咪是一只聪明的小老鼠(什么什么?谁规定老鼠就不能叫咪咪了?真是!),她正在四处 找水喝呢…… 她发现了一些水罐,里面都有水。她趴在每个水罐口上都试了一遍,结果仍然一口水没喝到 ——这些水罐里的水都很少,水面距离罐口太远,她用嘴够不着。这可怎么办呢? 如果是你,你是不是会想把水罐打翻?只可惜,咪咪只是一只小老鼠,没那么大力气呢。 不过,这也难不倒她,聪明的咪咪自然有办法:她转过身来,把尾巴放进去浸湿,再喝尾巴 上的水就好了,够聪明吧? 我们已知每个水罐里水面到水罐口的距离 h,还知道咪咪的尾巴最多可以伸进水罐口 t 厘米, 伸进尾巴的长度必须大于水面到水罐口的高度,咪咪才能喝到水。 根据这些条件,请你判断一下:有多少个水罐中的水可以被咪咪喝到? 【输入】 第一行为两个整数 1 //C++的万能头文件 using namespace std; int main() { int n; int lenth,depth; int cnt = 0; cin >>n; cin >> lenth; for(int i = 1; i > depth; if( depth< lenth) {

点击下载完整版文档(DOCX)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共13页,试读已结束,阅读完整版请下载
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有