首页 > 分享 > C语言习题答案【5】(仅参考)

C语言习题答案【5】(仅参考)

1051: 反转数

题目描述:

给定一个整数,请将该数各个数位上的数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零。 1

输入

-690 1

输出

-96 1

示例

#include<iostream> #include<math.h> using namespace std; int main() {int oldNumber, newNumber = 0;cin>>oldNumber;//123while(oldNumber != 0) {newNumber *= 10;//0 30newNumber += oldNumber % 10;//3oldNumber /= 10;//12}cout<<newNumber<<endl;return 0; } 123456789101112131415 1052: 礼物数目

题目描述:

小明买了许多圣诞礼物准备用于班级活动,回家后感觉太累了,便让机器人小灵帮忙数一下礼物一共有多少份。但是小灵不喜欢数字4,因此每次数到4时便跨过该数。例,若小灵数到339时,下一份礼物小灵就会数350。 1

输入

55 1

输出

40 1

示例

#include<iostream> #include<math.h> using namespace std; int main() {int num,nump,p,i,total=0;cin>>num;//小灵给出的礼物的份数if(num<1 && num>1000) return 0;nump=num;while(true) {p = nump % 10;if(p == 4) {return 0;}if(p == 0) {break;}nump/=10;}for(i=0; i<num; i++) {if((i%10 == 4)||(i/10%10 == 4)||(i/100 == 4)) {continue;}total++;}cout<<total<<endl;//输出实际数字return 0; }

12345678910111213141516171819202122232425262728 1053: 分解质因数

题目描述:

分解质因数。 1

输入

36 1

输出

2*2*3*3 1

示例

#include<iostream> #include<math.h> using namespace std; int main() {int num,i=2;cin>>num;for(i=2; i<=num; i++) {while(num!=i) {if(num%i==0) {printf("%d*",i);num/=i;} else break;}}printf("%dn",num);//最后一个数必是除后的本身return 0; }

123456789101112131415161718 1054: 求a+aa+aaa+…aa…a(n个a)

题目描述:

输入n和a,求a+aa+aaa+…aa…a(n个a),如当n=3,a=2时,2+22+222=246。 1

输入

3 2 1

输出

246 1

示例

#include<iostream> #include<math.h> using namespace std; int main() {int n,a,i,sum=0,aa;cin>>n>>a;if((n>10&&n<=0) ||(a>10&&a<=0))return 0;aa=a;for(i=1; i<=n; i++) {sum+=a;a=a*10+aa;}cout<<sum<<endl;return 0; } 123456789101112131415 1055: 零花钱

题目描述:

妈妈给了小明m元零花钱,为了鼓励小明节约,说如果小明每天只消费1元,每花k元就可以得到1元额外奖励,如果听妈妈的话小明最多可以花多少天? 1

输入

4 3 1

输出

5 1

示例

#include<iostream> #include<math.h> using namespace std; int main() {int m,k,total=0 ;cin>>m>>k;if (k<2 || k>m || m>1000) return 0;while(m--) {total++;if(total % k==0)m++;}cout<<total<<endl;return 0; } 123456789101112131415 1056: n!的最高位

题目描述:

输入一个正整数n。输出n!的最高位上的数字。 1

输入

1000 1

输出

4 1

示例

#include<iostream> #include<math.h> using namespace std; int main() {int m,k,total=0 ;cin>>m>>k;if (k<2 || k>m || m>1000) return 0;while(m--) {total++;if(total % k==0)m++;}cout<<total<<endl;return 0; } 123456789101112131415 1057: 小车位置

题目描述:

有一辆智能小车,最初(时间为0)的位置为(0,0),我们想知道它最后的位置。小车以每小时10公里的速度向北移动(北为y轴正向,东为x轴正向)。小车会收到一系列依照时间戳记排序的命令,1表示“向左转”,2表示“向右转”,3表示“停止”。每个命令的前面有一个时间戳记,所以知道该命令是何时发出的。最后一个命令一定是“停止”。另外假设,这辆小车非常灵活,它可以在瞬间转弯。 例,小车在时间为5时收到一个“向左转”的命令1,在时间10收到一个“向右转”的命令2,在时间15收到一个“停止”的命令3。那么在最后时间15时,小车的位置将在(-50,100)。程序只要求输出小车最后的位置,第一个整数是x坐标,第二个整数是y坐标。 12

输入

5 1 10 2 15 3 123

输出

-50 100 1

示例

#include<iostream> #include<math.h> using namespace std; int main() {int x=0,y=0;//初始化小车位置(0,0)int time,command,w=0,n=0;//command为命令,time是时间//n为决定车头朝向,0为北,1为东,2为南,3为西;//w为计时器,记录上次的时间,以此计算间隔时长while(scanf("%d %d",&time,&command),command!=0) { //键盘输入时间以及命令//要保证n始终在0-3之间switch(n) {case 0:y+=10*(time-w);break;case 1:x+=10*(time-w);break;case 2:y-=10*(time-w);break;case 3:x-=10*(time-w);break;}if(command==3) break;//如果命令是3,停止else if(command==1)n=n-1; //如果命令是1,向左转,n-1else if(command==2)n=n+1;//如果命令是2,向右转,n+1n=(n+4)%4;//对4取模改变方向,确保范围0~3w=time;//w记录上次的时间}printf("%d %d",x,y);//输出小车的横坐标和纵坐标return 0; }

1234567891011121314151617181920212223242526272829303132333435 1058: 乘积计算

题目描述:

做作业的时候,邻座的小朋友问你:“五乘以七等于多少?”你应该不失礼貌地微笑着告诉他:“五十三”。本题就要求你,对任何一对给定的正整数,倒着输出它们的乘积。【注意前导0不要输出。】 1

输入

50 7 1

输出

53 1

示例

#include<iostream> #include<math.h> using namespace std; int main() {int a ,b,sum=0;while(scanf("%d %d",&a,&b),a<1000,b<1000) {sum= a*b*10;while(sum>0) {sum=sum/10;int g=sum%10;if(g==0) {continue;}cout<<g;}break;}return 0; }

12345678910111213141516171819 1059: 两个数的最大公约数

题目描述:

输入2个正整数a,b,求a与b的最大公约数。 1

输入

6 15 1

输出

3 1

示例

#include<iostream> #include<math.h> using namespace std; int main() {int a = 0,b = 0;cin>>a>>b;while((a-b) != 0) {if(a>b)a = a-b;elseb = b-a;}printf("%dn", b);return 0; } 123456789101112131415 1060: 两个数的最小公倍数

题目描述:

正整数a和正整数b的最小公倍数是指能被a和b整除的最小的正整数值,设计一个算法,求输入a和b的最小公倍数。 1

输入

5 3 1

输出

15 1

示例

#include<iostream> #include<math.h> using namespace std; int main() { int x,y,z = 0,sum; cin >> x >> y; sum = x*y; while (y != 0) { z = x % y; x = y; y = z; } cout<<sum/x<<endl; return 0; }

12345678910111213141516

相关知识

C语言:输出所有的水仙花数
自学考试《盆景与花卉装饰》备考习题及答案
《5 凤仙花》习题
C语言基础习题
植物病理学习题与答案1
《园林植物病虫害防治》专项习题(附答案).docx
传教士问题c语言
c语言编程花朵,C语言花朵代码.doc
c语言玫瑰花代码devc++
加法接力赛C语言算法,C语言循环结构

网址: C语言习题答案【5】(仅参考) https://m.huajiangbk.com/newsview496225.html

所属分类:花卉
上一篇: 狼尾草
下一篇: 十大圣诞节装饰好物推荐 10件好