c语言: 从键盘上输入正数顺序,从屏幕上以颠倒次序输出.如输入1234,输出4321

如题所述

第1个回答  2006-10-02
void change_str2(char * resource_str)
{
char object_str[128];
/* 定义单词开始指针,单词结尾指针,*/
char * begin_of_word, * end_of_word, * work_of_obj;
int word_no=-1;

begin_of_word=end_of_word=next_word=resource_str;
work_of_obj=object_str;
/* 当句子没有结束时循环 */
while( * next_word != '.' )
{
end_of_word++;
/* 当扫描到空格或者句号时是一个单词的结尾 */
if( * end_of_word == ' ' || * end_of_word == '.')
{
if ( * next_word != '.' );
* work_of_obj++ = ' ';
word_no++;
if( * end_of_word == '.')
next_word = end_of_word;
else
{
next_word = end_of_word+1;
}
end_of_word--;
/*将单词反序*/
while( end_of_word >= begin_of_word)
{
* work_of_obj = * end_of_word;
work_of_obj++;
end_of_word--;
}
}
if( * next_word == '.')
{
* work_of_obj = '.';
* (++work_of_obj) = '\0';
}
}
}
strcpy(resource_str,object_str);
}
第2个回答  2006-10-02
我们假定是三位数,更高位的照做,要是不会联系我:
还可以用堆栈的方式的更简单:

#include<stdio.h>
main()
{
int i,j,t1,t2,t3;
printf("enter i:");
scanf("%d",&i);
t1=(int)i/100;
t2=(int)(i-t1*100)/10;
t3=i%10;
j=t1*100+t2*10+t3;
printf("li xu is:%d",j);
getch();
}
第3个回答  2006-10-02
#include <stdio.h>
int main(){
int a[4];
int i;
for(i=0;i<4;i++)
scanf("%i",&a[i]);
for(i=0;i<2;i++){
a[i]=a[i]^a[3-i];
a[3-i]=a[3-i]^a[i];
a[i]=a[i]^a[3-i];
}
for(i=0;i<4;i++)
printf("%i\t",a[i]);
return 0;
}
我估计楼主的意思不是lwjt那种交换吧
题外服务:348866836(请注名哪道题)
第4个回答  2006-10-02
#include<stdio.h>
main(){
int a,b,c,d;
scanf("%1d%1d%1d%1d",&a,&b,&c,&d);
printf("%d%d%d%d",d,c,b,a);
}本回答被提问者采纳

相关了解……

你可能感兴趣的内容

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