C语言编程题:先后输入两个数字字符,使其拼成一个数字,且输入的第一个字符为个位数,输入的第二个数...

C语言编程题:先后输入两个数字字符,使其拼成一个数字,且输入的第一个字符为个位数,输入的第二个数字为十位数,如:输入12,输出21

#include <stdio.h>
void main(int argc, char ** argv) {
char c1, c2;
int x;
c1 = getchar();
c2 = getchar();
printf("%c%c\n", c2, c1); // 如只是简单输出
x = (c1 - '0') + (c2 - '0') * 10; // 转换成数值
printf("%d\n", x); // 输出数值
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-03-14
#include <stdio.h>
int main()
{
int first,second;
first=getchar()-48;
getchar();
second=getchar()-48;//将ASCII转换成数值

second=second*10+first;
printf("%d",second,'\n');//以十进制输出
for (;;);
return 0;

}
经过调试的,肯定没有问题的
第2个回答  2012-03-14
main()
{

char numChar[2]; //输入的数字字符串
int num[2]; //交换个位和十位数字的位置
int i; //循环变量
int sign=1; //错误标记
int len; //输入字符的长度
while(1)
{
printf("请输入两位数字");
scanf("%s",numChar);
if(strcmp(numChar,"0")==0)
{
break;
} //输入0时退出
len=strlen(numChar);//获取输入的长度
if(len!=2)
{
printf("不是两位数\n");
continue;
} //非两位数
for(i=0;i<2;i++)
{
if(numChar[i]<'0' || numChar[i]>'9')
{
printf("非数字\n");
sign=0;
break;
}
}//检查输入是否符合数字字符
if(sign==0)
{
sign=1;
continue;
}
else
{
for(i=0;i<2;i++)
{
if(i!=0)
{
num[i]=atoi(numChar)/10;
}
else
{
num[i]=atoi(numChar)%10;
}
}//交换个位数和十位数

}
for(i=0;i<2;i++)
{
printf("%d",num[i]);
}//输出结果
printf("\n");
}
printf("结束\n");
}
运行结果:
输入:23
结果:32
第3个回答  2012-03-23
main()
{int a,x1,x2;
printf("请输入一个2位数:");
scanf("%d",&a);
x1=a/10; /*取十位数*/
x2=a-10*x1;/*取个位数*/
a=x2*10+x1;
printf("%d",a);
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网