C语言刷题(函数)

一个数如果恰好等于它的所有因子(不包括它本身)之和,这个数就称为“完数”。编写程序按如下要求统计自然数1—100间完数的个数:

//判断完数  
#include <stdio.h>  
//完数判断函数  
int isPerfect(int n) {  
   int sum = 0;  
   for (int i = 1; i < n; i++) {  
       if(n % i == 0) {  
           sum += i;  
       }  
   }  
   if(sum == n) {  
       return 1;  
   }  
   else {  
       return 0;  
   }  
}  
int main() {  
   int mid = 0;    //假设不是完数  
   //判断100以内的完数  
   printf("1-100以内的完数有:\n");  
   for (int i = 1; i <= 100; i++) {  
       mid = isPerfect(i);     //调用函数判断完数  
       if(mid) {   //如果为真,则输出该数字  
           printf("%d ",i);  
       }  
   }  
   return 0;  
}

冒泡法是一种常用的对多个无序整数进行排序的方法,编写程序按如下要求实现对多个整数进行排序:

//冒泡排序  
#include <stdio.h>  
//冒泡排序函数  
void bubbleSort(int a[], int n) {  
    for (int i = 0; i < n; i++) {  
        for (int j = 0; j < n - i - 1; j++) {  
            if (a[j] > a[j+1]) {  
                int temp = a[j];  
                a[j] = a[j+1];  
                a[j+1] = temp;  
            }  
        }  
    }  
}  
int main() {  
    int a[10];  
    printf("请输入要排序的元素:\n");  
    for (int i = 0; i < 10; i++) {  
        scanf("%d",&a[i]);  
    }  
  
    //调用排序函数  
    bubbleSort(a,10);  
  
    //输出排序后的元素  
    printf("排序后的元素为:\n");  
    for (int i = 0; i < 10; i++) {  
        printf("%d ",a[i]);  
    }  
    return 0;  
}

选择法是一种常用的对多个无序整数进行排序的方法,编写程序按如下要求实现对多个整数进行排序:

//选择排序  
#include <stdio.h>  
//选择排序函数  
void selectSort(int a[], int n) {  
    int mid = 0;    //记录数组下标  
    for (int i = 0; i < n - 1; i++) {  
        mid = i;    //记录下标  
        for (int j = i + 1; j < n; j++) {  
            if(a[mid] > a[j]) {  
                mid = j;  
            }  
        }  
        if(mid != i) {  
            int temp = a[mid];  
            a[mid] = a[i];  
            a[i] = temp;  
        }  
    }  
}  
int main() {  
    int a[10];  
    printf("请输入要排序的元素:\n");  
    for (int i = 0; i < 10; i++) {  
        scanf("%d",&a[i]);  
    }  
  
    //调用排序函数  
    selectSort(a,10);  
  
    //输出排序后的元素  
    printf("排序后的元素为:\n");  
    for (int i = 0; i < 10; i++) {  
        printf("%d ",a[i]);  
    }  
    return 0;  
}

相关推荐

  1. C语言函数

    2024-06-15 23:30:02       7 阅读
  2. C语言——oj——模拟实现库函数strlen

    2024-06-15 23:30:02       33 阅读
  3. C语言(18)

    2024-06-15 23:30:02       16 阅读
  4. C语言(21)

    2024-06-15 23:30:02       14 阅读
  5. oj-C语言

    2024-06-15 23:30:02       26 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-15 23:30:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-15 23:30:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-15 23:30:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-15 23:30:02       18 阅读

热门阅读

  1. Linux 用户权限 管理员与普通用户区别 sudo命令

    2024-06-15 23:30:02       8 阅读
  2. CSS3 2D变换、3D变换、过渡、动画

    2024-06-15 23:30:02       6 阅读
  3. Docker镜像构建:Ubuntu18.04+python3.10

    2024-06-15 23:30:02       9 阅读
  4. 解释 RESTful API, 如何使用它构建 web 应用程序

    2024-06-15 23:30:02       8 阅读
  5. Day39

    2024-06-15 23:30:02       4 阅读
  6. C++封装dll lib

    2024-06-15 23:30:02       12 阅读
  7. 技术周总结2024.06.10~06.16

    2024-06-15 23:30:02       7 阅读
  8. 【LVGL v8.3】切换界面时内存变化分析

    2024-06-15 23:30:02       7 阅读
  9. 支持向量机(SVM)中核函数的本质意义

    2024-06-15 23:30:02       6 阅读