C语言 写个循环,实现9与0互换、1与8互换、2与7互换、3与6互换、4与5互换
时间: 2024-01-30 18:01:46 浏览: 52
可以使用一个长度为10的数组来实现数字的互换,具体实现如下:
```c
#include <stdio.h>
int main() {
int arr[10] = {9, 8, 7, 6, 5, 4, 3, 2, 1, 0};
int temp;
for (int i = 0; i < 5; i++) {
temp = arr[i];
arr[i] = arr[9 - i];
arr[9 - i] = temp;
}
for (int i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
输出结果为:0 1 2 3 4 5 6 7 8 9
可以看到,通过循环交换数组的前半部分和后半部分,就可以实现数字的互换。
相关问题
c语言将a数组与b数组互换
以下是两种C语言将a数组与b数组互换的方法:
1.使用第三个数组作为中间变量
```c
#include <stdio.h>
#define N 5
int main()
{
int a[N] = {1, 2, 3, 4, 5};
int b[N] = {6, 7, 8, 9, 10};
int temp[N];
for (int i = 0; i < N; i++) {
temp[i] = a[i];
a[i] = b[i];
b[i] = temp[i];
}
printf("a数组:");
for (int i = 0; i < N; i++) {
printf("%d ", a[i]);
}
printf("\nb数组:");
for (int i = 0; i < N; i++) {
printf("%d ", b[i]);
}
return 0;
}
```
2.使用异或运算符
```c
#include <stdio.h>
#define N 5
int main()
{
int a[N] = {1, 2, 3, 4, 5};
int b[N] = {6, 7, 8, 9, 10};
for (int i = 0; i < N; i++) {
a[i] ^= b[i];
b[i] ^= a[i];
a[i] ^= b[i];
}
printf("a数组:");
for (int i = 0; i < N; i++) {
printf("%d ", a[i]);
}
printf("\nb数组:");
for (int i = 0; i < N; i++) {
printf("%d ", b[i]);
}
return 0;
}
```
c语言实现大小写字母互换
在C语言中实现大小写字母互换的基本方法是利用ASCII码值的差异。大写字母的ASCII码值范围是65到90,而小写字母的ASCII码值范围是97到122。两者之间的差值正好是32。因此,可以通过减去32将大写字母转换为小写字母,通过加上32将小写字母转换为大写字母。但要注意,只有当字符确实为大写或小写字母时才进行这样的转换,否则可能会导致非字母字符被错误转换。
以下是一个简单的C语言程序示例,用于将输入的字符串中的所有大写字母转换为小写,小写字母转换为大写:
```c
#include <stdio.h>
// 函数声明,用于大小写转换
void swapCase(char* str);
int main() {
char str[] = "Hello World!"; // 示例字符串
printf("Original string: %s\n", str);
swapCase(str); // 调用函数进行大小写转换
printf("Converted string: %s\n", str);
return 0;
}
// 函数定义,用于大小写转换
void swapCase(char* str) {
int i = 0;
while (str[i] != '\0') { // 遍历字符串直到遇到字符串结束符
if (str[i] >= 'A' && str[i] <= 'Z') {
// 如果是大写字母,则转换为小写
str[i] = str[i] + 32;
} else if (str[i] >= 'a' && str[i] <= 'z') {
// 如果是小写字母,则转换为大写
str[i] = str[i] - 32;
}
i++;
}
}
```
运行上述程序会将输入的字符串中的每个字母进行大小写转换,并输出转换后的结果。