#include stdio.h
创新互联网站建设服务商,为中小企业提供网站建设、网站制作服务,网站设计,网站托管、服务器托管等一站式综合服务型公司,专业打造企业形象网站,让您在众多竞争对手中脱颖而出创新互联。
#include string.h
#define N 50
int reverse (char a[])
{
int len, i;
len= strlen(a);
for(i=len-1;i=0;i--)
{
printf("%c",a[i]);
}
}
int main()
{
char a[N],i;
gets(a);
reverse(a,N);
return 0;
}
#includestdio.h
#includestdlib.h
void*nizhi(int *newarry,int a)
{
int mid=0;
printf("请输入数组的元素,数字之间以空格分隔.\n");
for(int i=0;ia;i++)
scanf("%d",newarry[i]);
printf("你新建立的数组是:\n");
for(int i=0;ia;i++)
printf("%d\t",newarry[i]);
for(int j=a-1,i=0;i=j;i++,j--)
{
mid=newarry[i];
newarry[i]=newarry[j];
newarry[j]=mid;
}
printf("\n逆序后的数组为:\n");
for(int i=0;ia;i++)
printf("%d\t",newarry[i]);
return newarry;
}
int _tmain(int argc, _TCHAR* argv[])//不是vs运行环境的话,自己修改成你使用的环境定义方式
{
int *arry,*p,n;
xunhuan: printf("请输入要建立的数组长度:"); //为了实现循环,如果不循环,去掉xunhuan:
scanf("%d",n);
p=n;
arry=(int*)malloc(n*sizeof(int));
if(arry==NULL)
{
printf("分配空间失败!");
return 0;
}
nizhi(arry,*p);
printf("\n循环执行:\n");
goto xunhuan; //为了实现循环,如果不要循环的话,去掉此句
return 0;
}
函数nizhi实现数字数组的逆序存放
printf("倒序排后的数为:\n",result); //少了%d
不过加上后输出结果也不正确
这类问题用数组很方便, 或者在scanf时直接用字符数组获取数据更方便
#includestdlib.h
#includestdio.h
#include "string.h"
int daoXupai(int x)
{
char s[10]={"\0"};
sprintf(s,"%d",x);
int len=strlen(s);
int i,t;
for(i=0;ilen/2;i++)
{
t=s[i];
s[i]=s[len-1-i];
s[len-1-i]=t;
}
t=atoi(s);
return t;
}
int main()
{
int x,result;
printf("输入一个整数:",x);
scanf("%d",x);
result=daoXupai(x);
printf("倒序排后的数为:%d\n",result);
system("pause");
return 0;
}
只需将字符串的第一个元素和最后一个元素交换,第二个元素和倒数第二个元素交换,直到字符串长度一半时,就完成倒序了。切记不要全部倒序,不然又恢复成原字符串了。
#include stdio.h
#include string.h
// 反序字符串x并返回
char* reverse_string(char *x)
{
int len = strlen(x);
int i, n = len / 2;
char tem;
// 第一个和最后一个交换,第二个和倒数第二个交换
// 这样就只用交换一半
for (i = 0; i = n; i++)
{
tem = x[i];
x[i] = x[len - 1 - i];
x[len - 1 - i] = tem;
}
return x;
}
int main()
{
char str[] = "0123456789";
printf("reverse string : %s\n", reverse_string(str));
return 0;
}
反序字符串,只需要将首尾字符依次调换即可。
#include stdio.h
#include string.h
// 反序字符串x并返回
char* reverse(char *x)
{
int len = strlen(x);
int i, n = len / 2;
char tem;
for (i = 0; i = n; i++)
{
tem = x[i];
x[i] = x[len - 1 - i];
x[len - 1 - i] = tem;
}
return x;
}
int main()
{
char str[100];
printf("input a string :");
gets(str);
puts(reverse(str));
return 0;
}
在C语言中。先读取一个整数,然后每次获取整数的个位数。再把这个个位数从原来的数据去掉。把每次获得的个位数拼装成为一个新的整数。下面是相关的代码。
int x,y=0;
scanf("%d",x);
for(;x;x/=10)y=y*10+x%10;
printf("%d\n",y);