在键盘上以字符串的形式输入一段数字,然后将字符串形式的数字从头到尾挨个转换成数字,接着将顺序的数字和逆序的学号相加,最后将和输出到屏幕
你意思是字符串"123"转换为整数123吗?
将顺序的数字和逆序的学号相加----怎么抛出来一个学号?是指将123+321求和?
Ascii字符转数字,用ascii-48就可以了。
void main()
{
char c[8];
scanf("%s",&c);
int a[8] = {0};
int i,j;
for(i=0;c[i] != 0;i++)
a[i] = c[i] - '0';
int m=0,n=0;
int b = 1;
for(j=i-1;j>=0;j--)
{
m+=a[j]*b;
b*=10;
}
b = 1;
for(j=0;j<i;j++)
{
n+=a[j]*b;
b*=10;
}
printf("转换的整数为:%d,整数与逆序整数和为:%d\n",m,n+m);
}
使用atoi()函数可以直接把字符串数字转成整数
供参考:
#include <stdio.h>
#include <string.h>
int main()
{
char n[64];
int i,j,len,num1=0,num2=0;
scanf("%s",n);
len = strlen(n);
for(i=0,j=len-1;i<len;i++,j--)
{
num1 = num1*10 + n[i]-'0';
num2 = num2*10 + n[j]-'0';
}
printf("%d\n",num1+num2);
return 0;
}
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632