c语言编程题经典题目

admin 34 0

C语言编程题经典题目

C语言是一种基础编程语言,广泛应用于系统软件、嵌入式软件、游戏开发等领域,下面是一些经典的C语言编程题目,这些题目可以帮助你提高编程技能,理解数据结构和算法。

1. 打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身,153=1*1*1+5*5*5+3*3*3。

```c

#include

int main() {

int i, j, k;

for (i = 100; i

j = i / 100;

k = (i % 100) / 10;

if (i == j * j * j + k * k * k + (i % 10) * (i % 10) * (i % 10)) {

printf("%d\n", i);

}

}

return 0;

}

2. 编写一个程序,将一个整数数组中的元素按照奇偶性进行排序。可以使用任何排序算法,例如冒泡排序、选择排序、插入排序等。


```c
#include <stdio.h>

void swap(int *a, int *b) {
    int temp = *a;
    *a = *b;
    *b = temp;
}

void sortByOddEven(int arr[], int n) {
    int i, j, flag;
    for (i = 0; i < n - 1; i++) {
        flag = 0;
        for (j = 0; j < n - i - 1; j++) {
            if ((arr[j] % 2 == 0 && arr[j + 1] % 2 == 1) || (arr[j] % 2 == arr[j + 1] % 2 && arr[j] != arr[j + 1])) {
                swap(&arr[j], &arr[j + 1]);
                flag = 1;
            }
        }
        if (flag == 0) break;
    }
}

int main() {
    int arr[] = {4, 2, 8, 5, 20, 3};
    int n = sizeof(arr) / sizeof(arr[0]);
    sortByOddEven(arr, n);
    for (int i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }
    return 0;
}

3. 用C语言编写一个程序,实现将一个字符串中的所有字母转换成小写字母,可以使用标准库函数`tolower()`。

#include

#include

void toLowerCase(char str[]) {

int i = 0;

while (str[i]) { // 当遇到字符串结束符'\0'时停止循环。

str[i] = tolower(str[i]); // 将当前字符转换成小写字母。

i++; // 将指针向后移动一位,指向下一个字符。

char str[] = "Hello World!"; // 要转换的字符串。

toLowerCase(str); // 将字符串转换成小写字母。

printf("%s\n", str); // 输出转换后的字符串。

```