
思路就是将
数组中第一个和最后野凳一个换位置
第二个和倒数第二个换位置
以此类推
源代码如下:
#include<stdio.h>
int main(){
int n //n个数字
int i //循环变量
int num[50]
scanf("%d",&n)
for(i=0i<ni++) scanf("%d",&num[i])
for(i=0i<n/2i++){
int t //交换值的中间变量
t=num[i]
num[i]=num[n-i-1] //注意是n-i后还要-1
num[n-i-1]=t //因为当n为5的液脊困时候,num[0]对应的是[4]而闹念不是[5]
}
for(i=0i<ni++){
printf("%d ",num[i])
}
return 0
}
以下是C语言程序,使用指针将键盘输入的字符串逆序存放,并输出结果:```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100], temp
int len, i
char *p1, *p2
printf("请输入一个字符串:")
scanf("%s", str)
len = strlen(str)
p1 = str
p2 = str + len - 1 // 指向字符串最后一个字符
for (i = 0i <len/2i++) {
temp = *p1
*p1 = *p2
*p2 = temp
p1++
p2--
}
printf("逆序存放后的字符串为:%s", str)
return 0
}
```
程序先从键盘输入一个字符串,然后获取字符串的长度和指向字符串首尾的指针。接着,使用指针交换相应位置上的字符,完成字符老竖串逆序存放。最后输出逆序存放后的字符串。
注意,字符串的长度可能为奇老派数或偶数,因此在for循环中应该只交换字符串长度除以侍含大2个字符即可。
#include<stdio.h>#define N 10
int main()
{
int a[N]
int b[N]
int i
printf("请输顷敬世入%d个数",N)
for(i= 0i<Ni++)
scanf("%d"雀肢,&a[i])
for(i=0i<稿租Ni++)
{
b[i] = a[N-1-i]
printf("%d ",a[i])
}
printf("\n")
for(i=0i<Ni++)
printf("%d ",b[i])
printf("\n")
return 0
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)