1.求1~100的和

#include <stdio.h>

int sum_1_to_100(void){
    int sum = 0;
    int i = 1;
    while(i <= 100){
        sum += i;
        i++;
    }
    return sum;
}

int main(){
    int sum = sum_1_to_100();
    printf("1~100的和为:%d\n", sum);
    return 0;
}

2.求1~n的奇数和与偶数和

#include <stdio.h>

void sum_odd_even(int n){
    int sum_odd = 0;  // 奇数和
    int sum_even = 0;  // 偶数和
    int i = 1;
    while(i <= n){
        if(i % 2 == 0){  // 偶数
            sum_even += i;
        }else{  // 奇数
            sum_odd += i;
        }
        i++;
    }
    printf("1~%d之间的奇数和为:%d\n", n, sum_odd);
    printf("1~%d之间的偶数和为:%d\n", n, sum_even);
}

int main(){
    int n;
    printf("请输入一个整数n:");
    scanf("%d", &n);
    sum_odd_even(n);
    return 0;
}

3.求1~100的和

#include <stdio.h>

int sum_1_to_100(void){
    int sum = 0;
    int i = 1;
    while(i <= 100){
        sum += i;
        i++;
    }
    return sum;
}

int main(){
    int sum = sum_1_to_100();
    printf("1~100的和为:%d\n", sum);
    return 0;
}

4.求n的阶乘

#include <stdio.h>

int factorial(int n){
    int result = 1;
    int i = 1;
    while(i <= n){
        result *= i;
        i++;
    }
    return result;
}

int main(){
    int n;
    printf("请输入一个整数n:");
    scanf("%d", &n);
    int result = factorial(n);
    printf("%d的阶乘为:%d\n", n, result);
    return 0;
}

5.统计200以内能同时被7和3整除的数及其数量

#include <stdio.h>

void count_num(void){
    int count = 0;  // 统计数量
    int i = 1;
    while(i <= 200){
        if(i % 3 == 0 && i % 7 == 0){
            count++;
            printf("%d ", i);
        }
        i++;
    }
    printf("\n200以内能同时被3和7整除的数的数量为:%d\n", count);
}

int main(){
    count_num();
    return 0;
}

6.反序输出数组

#include <stdio.h>

void reverse(int a[], int n){
    for(int i = n - 1; i >= 0; i--){
        printf("%d ", a[i]);
    }
    printf("\n");
}

int main(){
    int a[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
    int n = 10;
    printf("原数组:");
    for(int i = 0; i < n; i++){
        printf("%d ", a[i]);
    }
    printf("\n反序输出:");
    reverse(a, n);
    return 0;
}

7.计算小组总成绩及平均成绩

#include <stdio.h>

void calc_total_avg(void){
    int count = 10;  // 学生人数
    int score;  // 成绩
    int total_score = 0;  // 总成绩
    float avg_score;  // 平均成绩
    for(int i = 1; i <= count; i++){
        printf("请输入第%d个学生的成绩:", i);
        scanf("%d", &score);
        total_score += score;
    }
    avg_score = (float)total_score / count;
    printf("小组总成绩为:%d\n", total_score);
    printf("小组平均成绩为:%.2f\n", avg_score);
}

int main(){
    calc_total_avg();
    return 0;
}

8.返回两个数中的最大值

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int get_max(int a, int b){
    if(a > b){
        return a;
    }else{
        return b;
    }
}

int main(){
    srand(time(0));  // 设置随机种子
    int a = rand() % 100;
    int b = rand() % 100;
    printf("随机生成的两个数为:%d和%d\n", a, b);
    int max = get_max(a, b);
    printf("两个数中的最大值为:%d\n", max);
    return 0;
}

9.厘米与英寸的单位转换

#include <stdio.h>

void cm_to_inch(float cm){
    float inch = cm / 2.54;
    printf("%.2f厘米 = %.2f英寸\n", cm, inch);
}

int main(){
    float cm;
    printf("请输入需要转换的长度(厘米):");
    scanf("%f", &cm);
    cm_to_inch(cm);
    return 0;
}

10.判断一个数是否是素数

#include <stdio.h>

int is_prime(int n){
    if(n < 2){
        return 0;
    }
    for(int i = 2; i < n; i++){
        if(n % i == 0){
            return 0;
        }
    }
    return 1;
}

int main(){
    int n;
    printf("请输入一个整数n:");
    scanf("%d", &n);
    if(is_prime(n)){
        printf("%d是素数\n", n);
    }else{
        printf("%d不是素数\n", n);
    }
    return 0;
}

11.反向输出字符串

#include <stdio.h>
#include <string.h>

void reverse_str(char str[]){
    int len = strlen(str);
    for(int i = len - 1; i >= 0; i--){
        printf("%c", str[i]);
    }
    printf("\n");
}

int main(){
    char str[100];
    printf("请输入一个字符串:");
    scanf("%s", str);
    printf("反向输出字符串:");
    reverse_str(str);
    return 0;
}

12.输出5个不重复的随机数

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

void print_rand_num(void){
    int nums[5] = {0};
    int count = 0;
    srand(time(0));  // 设置随机种子
    while(count < 5){
        int num = rand() % 100;
        // 判断num是否已经存在于数组中
        int flag = 0;  // 标记是否存在
        for(int i = 0; i < count; i++){
            if(nums[i] == num){
                flag = 1;
                break;
            }
        }
        if(flag == 0){  // num不存在于数组中
            nums[count] = num;
            count++;
        }
    }
    printf("5个不重复的随机数为:");
    for(int i = 0; i < 5; i++){
        printf("%d ", nums[i]);
    }
    printf("\n");
}

int main(){
    print_rand_num();
    return 0;
}

13.暴力破解8位数密码

#include <stdio.h>
#include <string.h>

void crack_password(void){
    char password[9] = "12345678";  // 要破解的密码
    char crack[9] = {0};  // 破解后的密码
    for(int i = 0; i < 10; i++){
        for(int j = 0; j < 10; j++){
            for(int k = 0; k < 10; k++){
                for(int l = 0; l < 10; l++){
                    for(int m = 0; m < 10; m++){
                        for(int n = 0; n < 10; n++){
                            for(int o = 0; o < 10; o++){
                                for(int p = 0; p < 10; p++){
                                    crack[0] = '0' + i;
                                    crack[1] = '0' + j;
                                    crack[2] = '0' + k;
                                    crack[3] = '0' + l;
                                    crack[4] = '0' + m;
                                    crack[5] = '0' + n;
                                    crack[6] = '0' + o;
                                    crack[7] = '0' + p;
                                    if(strcmp(password, crack) == 0){
                                        printf("破解成功!密码为:%s\n", crack);
                                        return;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    printf("破解失败!\n");
}

int main(){
    crack_password();
    return 0;
}

14.冒泡排序

#include <stdio.h>

void bubble_sort(int a[], int n){
    for(int i = 0; i < n - 1; i++){
        for(int j = 0; j < n - i - 1; j++){
            if(a[j] > a[j+1]){
                // 交换a[j]和a[j+1]的值
                int temp = a[j];
                a[j] = a[j+1];
                a[j+1] = temp;
            }
        }
    }
}

int main(){
    int a[5] = {5, 81, 65, 9, 10};
    int n = 5;
    printf("排序前的数组:");
    for(int i = 0; i < n; i++){
        printf("%d ", a[i]);
    }
    bubble_sort(a, n);
    printf("\n排序后的数组:");
    for(int i = 0; i < n; i++){
        printf("%d ", a[i]);
    }
    printf("\n");
    return 0;
}
``
c语言编写以下要求封装成函数写到一个程序当中:1while语句实现求1+2+……+100的和。2随意输入一个整数n求1—n之间的奇数和和偶数和。3求1+2+3+4……+100的和4求n的阶乘5编程序统计并输出200以内所有能同时被7和3整除的数及其数量。6定义一个数组a10并赋初值0~9反序输出。7一个小组学生共10人输入他们的成绩计算并输出小组总成绩及平均成绩。8封装一个函数并且在主函数中进行调

原文地址: https://www.cveoy.top/t/topic/gHYE 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录