如题所述
第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);
}
{
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();
}
还可以用堆栈的方式的更简单:
#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(请注名哪道题)
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);
}本回答被提问者采纳
main(){
int a,b,c,d;
scanf("%1d%1d%1d%1d",&a,&b,&c,&d);
printf("%d%d%d%d",d,c,b,a);
}本回答被提问者采纳