for(i=0i<n-1i++)
{
for(int
j=0j<n-i-1j++)
{
temp=a[j+1]
a[j+1]=a[j]
a[j]=temp
}
}
去掉for循环之后的分号就好了
分号放在for循环之后,循环就只执行一次了~
C语言输入一个正整数n,将其逆序输出:
#include<stdio.h>
#include<stdlib.h>
int main(){
int a
while(scanf("%d",&a)!= EOF){
while(a>0){
printf("%d",a%10)
a = a/10
}
printf("\n")
}
return 0
}
运行结果如下:
扩展资料:
算法:
首先判断输入的正整数的位数,(例如1000=n<9999)
然后输出m(注意,C语言里方括号是取整运算符号)
//因为是整型运算,其实方括号可以省去
m=[n/1000]//【取出千位】
n-=1000*[n/1000]//【n只剩下三位】
m+=10*[n/100]//【取出百位】
n-=100*[n/100]// 【n剩下两位】
m+=100*[n/10]+1000*(n-[n/10])//【取出十位】
printf("d%",m)
在C语言中。先读取一个整数,然后每次获取整数的个位数。再把这个个位数从原来的数据去掉。把每次获得的个位数拼装成为一个新的整数。下面是相关的代码。int x,y=0
scanf("%d",&x)
for(xx/=10)y=y*10+x%10
printf("%d\n",y)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)