#include <stdioh>
void main()
{
int num;
scanf("%d",&num);
while(num)
{
printf("%d",num%10);
num=(num-num%10)/10;
}
}//我能想到最简单的方法。(只要num小于2^32就行,当然你输入3位数,就是你所要求的)
#include<stdioh>
#include<stringh>
void printit(char str,int length) //返序输出函数
{
int i;
for(i=length-1;i>=0;i--) //从给定的字符串的最后一位依次向前遍历各字符
putchar((str+i)); //每向前一个字符即打印该字符,直至第一个字符为止。
}
int main()
{ char str[80]=""; //定义一个长度为80字节的字符串数组,并初始化
gets(str); //从键盘中输入一个字符串(遇回车键结束)
printit(str,strlen(str)); //调用上面定义的函数反序输出字符串
printf("\n"); //输入一个回车换行符,使后续输出能另起一行
return 0;
}
#include<stdioh>
int main()
{ char a[100],b[100];
int i,j;
gets(a);
j=0;
for(i=strlen(a)-1;i>=0;i--)
if((tolower(a[i])>='a')&&(tolower(a[i])<='z'))b[j++]=a[i];
b[j]='\0';
puts(b);
system("PAUSE");
}
scanf("%hx",&a);——a=HHHHhhhhLLLLllll
b=a<<12;——b=llll000000000000
c=a<<4&0x0f00;——c=hhhhLLLLllll0000&0000111100000000==0000LLLL00000000
d=a>>12&0x000f——d=000000000000HHHH&0000000000001111==000000000000HHHH
a=a>>4&0x00f0——a=0000HHHHhhhhLLLL&0000000011110000==00000000hhhh0000
a=a+b+c+d=00000000hhhh0000+llll000000000000+0000LLLL00000000+000000000000HHHH=llllLLLLhhhhHHHH
以上H、h、L、l和1都是二进制的一位。由此可知,若输入ABCD的话,输出则是DCBA,刚好把输入的16进制数按位倒过来……
不知道你为啥写了两次#include。而且你定义了a,b,c,m都是整形了,强制格式转换就没必要了吧? 下面是我改的
#include <stdioh>
int main()
{
int a,b,c,m,n;
printf("请输入一个三位数:");
scanf("%d",&m);
a=m/100;
b=m%100/10;
c=m%10;
printf("%d%d%d",c,b,a );
return 0;
}
这样完全好使,你试试
程序中s的求法有问题,对n的处理也有问题
正确的方法为:
#include "stdioh"#include "conioh"
int main()
{ int n,s;
scanf("%d",&n);
s = 0;
while (n != 0)
{ s = s 10 + n % 10;
n = n / 10;
}
printf("%d\n", s);
getch();
结果如下:
#include <stdioh>
int main()
{
int n;
scanf("%d", &n);
do
{
printf("%d", n % 10);
}while(n /= 10);
printf("\n");
return 0;
}
以上就是关于c程序语言中怎样编译一个程序使输入任意一个三位数将其各位反序输出全部的内容,包括:c程序语言中怎样编译一个程序使输入任意一个三位数将其各位反序输出、C语言编程,写一个函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串,,求下面程序解释、编写一个程序,用来从字符串中筛选出字母字符并反序存放等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)