2
A
回答
5
那么,最后一位数字很容易弄清楚,对吗?
int lastDigit = input % 10;
至于第一个数字,我不知道最有效的方法来得到它。立即弹到我的脑海里首先想到的是:
int firstDigit = input;
while (firstDigit >= 10)
{
firstDigit /= 10;
}
所以,用52264例如:
int lastDigit = 52264 % 10; // 52264 % 10 = 4
int firstDigit = 52264;
firstDigit /= 10; // 5226
firstDigit /= 10; // 522
firstDigit /= 10; // 52
firstDigit /= 10; // 5 -- less than 10
3
int n;
cin >> n;
int num1 = n % 10;
int num2 = n;
while (num2 >= 10)
num2 /= 10;
cout << num1+num2 << endl;
0
找出在输入的数字总位数,想这ñ。
int temp = number;
int n = 0;
while(temp > 0)
{
temp /= 10;
n++;
}
然后
sum = number/(int)pow(10, n - 1) + number % 10;
+0
当“temp”中的前导数字很容易获得时,最后一行是浪费。 – 2015-01-17 14:13:53
1
这应该工作。由于输入是一个数组,因此您只需要查看零元素和最后一个元素,然后将它们相加即可。
#include <stdio.h>
#include <string.h>
#define MAX_LENGTH 256
int main() {
char number[MAX_LENGTH];
int first, last, sum;
while (scanf("%s", number) == 1) {
first = number[0];
last = number[strlen(number)-1];
sum = atoi(&first) + atoi(&last);
printf("Sum = %d\n", sum);
}
return 0;
}
下面是一个运行示例:
123456
Sum = 7
845731
Sum = 9
35846
Sum = 9
23
Sum = 5
11
Sum = 2
2
一种不同的方法可用于治疗的输入作为一个字符串。
char buf[BUFSIZ];
char *p;
char bufTemp1[2];
char bufTemp2[2];
int sum;
fgets(buf, sizeof(buf), stdin);
if ((p = strchr (buf, '\n')) != NULL)
{
*p = '\0';
}
bufTemp1[0] = buf[0];
bufTemp1[1] = '\0';
strncpy (bufTemp2, &buf[strlen(buf)-1], 1);
bufTemp2[1] = '\0';
sum = atoi (bufTemp1) + atoi (bufTemp2);
+0
比让'scanf'从字符串表示转换为整数然后努力从整数中检索数字要好得多。做和撤消。在这种情况下,即使'atoi'也是矫枉过正。 – 2015-01-17 15:30:12
1
#include <iostream>
using namespace std;
int main()
{
int sum=0;
int first,last;
int n;
cin>>n;
first=n %10;
while (n!=0)
{
last=n/10;
}
sum=first+last;
cout<<sum<<endl;
}
1
一个更有效的方式去这样做是要找到位数事先,像这样:
uint32_t digitCount = number == 0 ? 0 : (uint32_t)(log10(abs(number))) + 1;
从那里,找到第一个进程,最后的数字被简化了。
0
这里是该程序:
/*program to find the sum of first and last digits of a given number */
#include <stdio.h>
int main(void)
{
int firstdigit,lastdigit,number,sum;
printf("Enter the number whose sum of first and last digit to be found: \n\n");
scanf("%d",&number);
if (number >=10)
{
firstdigit = number;
while (firstdigit >= 10)
firstdigit /=10; /*firstdigit=firstdigit/10 which will neglect mantissa part;*/
lastdigit = number % 10;
sum = firstdigit + lastdigit;
printf("The sum of first=%d and last=%d digit is %d\n",firstdigit,lastdigit,sum);
}
else
{
printf("wrong input given\n");
}
return 0;
}
0
printf("%d\n", input[0] - '0' + input[strlen(input)-1] - '0');
0
b = int(raw_input())
c = str(b)
d = int(c[0])
e = int(c[-1])
print d+e
相关问题
- 1. C++删除数字的第一个和最后一个数字
- 2. 查找第一个和最后一个按升序排列的数字
- 3. 字符串的第一个字符和最后一个字符
- 4. 最后一个字段的总和
- 5. 如何获取PHP中第一个和最后一个数字的数字?
- 6. 如何仅查找字符串中的第一个和最后一个数字字符
- 7. jQuery给定字符的第一个和最后一个字符
- 8. BASH - 简单的第一个字符和最后一个字符
- 9. php - 获取数组中的第一个字和最后一个字
- 10. 一个数字中连续数字的最大总和
- 11. 找到一个数字的数字总和(在c)
- 12. 一个数字素数的总和 - Lua
- 13. 从数据库中查找特定关键字后的第一个和最后20个字符?
- 14. 查找序列中下一个最高和最低的数字
- 15. 如何获得第一列和最后一个数字列
- 16. 查找数组中的第一个和最后一个匹配序列php
- 17. php循环 - 检查总数之前的最后一个数字
- 18. 正则表达式的字符串的最后一个字的第一个字和第一个字母
- 19. 计数字母之间的第一个和最后 - Java
- 20. 如何查找和替换表记录中特定的第一个字符串和最后一个字符串?
- 21. 从字节数组中删除第一个和最后一个字节?
- 22. 删除任何第一个字符前面和后面的任何最后一个字符前面的空格
- 23. 用于检查文本框中第一个和最后一个名字的第一个字符的SQL语句
- 24. 在matlab中查找没有循环的下一个最高和一个数字中次数最少的数字
- 25. python查找小数点后的第一个非零数字
- 26. 第一个和最后一个名字的正则表达式
- 27. PHP数组排序第一的数字和字母最后
- 28. 如何查找字符串c#中的最后一个数字?
- 29. C代码找到满足第一个和最后=中间标准总和的区间中的3位数字
- 30. 在100个数字的数组中找到5个最高数字的总和
5 + 4 = 9,而不是6 – MBennett 2010-08-22 06:24:52
是本次作业? – 2010-08-22 06:25:03
必须是功课。这还有什么可能是可行的? – 2010-08-22 06:28:31