题目如下
---------------------------------------------------------------------------------------------------------------------------------
题目讲解
---------------------------------------------------------------------------------------------------------------------------------
如例题当我们算出和为125时,如果我们想输出25,我们可以使用数组的思想,将最后两位数存入到数组中,然后以我们想要的形式输出即可
实现以上代码如下
#include<stdio.h>
int main()
{
int a,b = 0;
int arr[1000];
scanf("%d%d",&a,&b);
int sum = a+b; //计算和
//用数组存储位数
int sums = sum;//这里是备份sum,防止后面要用
//将和的最后两位数以数组形式保存
for(int i = 0;i<=1;i++){
arr[i] = sums%10;
sums = sums/10;
}
//arr[0]是个位 arr[1]是十位
//将和的最后两位数输出
for(int i = 1;i>=0;i--){
printf("%d",arr[i]);
}
}
---------------------------------------------------------------------------------------------------------------------------------
判断十位是否为0的实现
---------------------------------------------------------------------------------------------------------------------------------
题目要求是,当和的最后两位数中,十位数为0,则只保留个位数
那么首先我们就可以通过刚才在数组中所求的十位和个位组成最后两位数
第二步判断这个两位数的十位是不是0
如果十位为0输出个位并结束程序,十位不为0不作任何操作
实现以上代码如下
#include<stdio.h>
int main()
{
int a,b = 0;
int arr[1000];
scanf("%d%d",&a,&b);
int sum = a+b; //计算和
//用数组存储位数
int sums = sum;//这里是备份sum,防止后面要用
//将和的最后两位数以数组形式保存
for(int i = 0;i<=1;i++){
arr[i] = sums%10;
sums = sums/10;
}
//arr[0]是个位 arr[1]是十位
//代码新添加项在下面!!!
int sh = arr[1] * 10 + arr[0];
if (sh / 10 % 10 == 0) { //判断十位是否为0
printf("%d", arr[0]);
goto finish; //为0直接走向程序末
}
//代码新添加项在上面!!!
//将和的最后两位数输出
for(int i = 1;i>=0;i--){
printf("%d",arr[i]);
}
finish: // //代码新添加项在这!!!
;
}
以上就是这道题程序实现的全部代码,已标注新添加代码位置