1.求1到100的和

int sum(){
    int i = 0;
    int res = 0;
    while(i <= 100){
        res += i;
        i++;
    }
    return res;
}

2.求1到n的奇数和和偶数和

void sum(int n){
    int i = 1;
    int odd_sum = 0;
    int even_sum = 0;
    while(i <= n){
        if(i % 2 == 0){
            even_sum += i;
        }
        else{
            odd_sum += i;
        }
        i++;
    }
    printf("奇数和:%d\n", odd_sum);
    printf("偶数和:%d\n", even_sum);
}

3.求1到100的和

int sum(){
    int i = 0;
    int res = 0;
    while(i <= 100){
        res += i;
        i++;
    }
    return res;
}

4.求n的阶乘

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

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

void count(){
    int count = 0;
    int i = 1;
    while(i <= 200){
        if(i % 3 == 0 && i % 7 == 0){
            printf("%d ", i);
            count++;
        }
        i++;
    }
    printf("\n共有%d个数能被3和7整除\n", count);
}

6.反序输出数组

void reverse(){
    int a[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
    int i = 9;
    while(i >= 0){
        printf("%d ", a[i]);
        i--;
    }
}

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

void sum(){
    int sum = 0;
    int i = 0;
    int score;
    while(i < 10){
        printf("请输入第%d个学生的成绩:", i+1);
        scanf("%d", &score);
        sum += score;
        i++;
    }
    printf("小组总成绩:%d\n", sum);
    printf("小组平均成绩:%d\n", sum/10);
}

8.随机输入2个整数,返回最大值

int max(int a, int b){
    return a > b ? a : b;
}

9.厘米转换英寸

float cm_to_inch(float cm){
    return cm / 2.54;
}

10.判断是否是素数

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

11.反向输出字符串

void reverse(char *str){
    int len = strlen(str);
    int i = len - 1;
    while(i >= 0){
        printf("%c", str[i]);
        i--;
    }
}

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

void random(){
    srand(time(NULL));
    int a[100] = {0};
    int i = 0;
    while(i < 5){
        int num = rand() % 100 + 1;
        if(a[num] == 0){
            printf("%d ", num);
            a[num] = 1;
            i++;
        }
    }
}

13.暴力破解8位数密码

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

14.冒泡排序

void bubble_sort(int a[], int len){
    int i, j, temp;
    for(i = 0; i < len-1; i++){
        for(j = 0; j < len-1-i; j++){
            if(a[j] > a[j+1]){
                temp = a[j];
                a[j] = a[j+1];
                a[j+1] = temp;
            }
        }
    }
    for(i = 0; i < len; i++){
        printf("%d ", a[i]);
    }
}

完整程序

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

int sum(){
    int i = 0;
    int res = 0;
    while(i <= 100){
        res += i;
        i++;
    }
    return res;
}

void sum(int n){
    int i = 1;
    int odd_sum = 0;
    int even_sum = 0;
    while(i <= n){
        if(i % 2 == 0){
            even_sum += i;
        }
        else{
            odd_sum += i;
        }
        i++;
    }
    printf("奇数和:%d\n", odd_sum);
    printf("偶数和:%d\n", even_sum);
}

int sum(){
    int i = 0;
    int res = 0;
    while(i <= 100){
        res += i;
        i++;
    }
    return res;
}

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

void count(){
    int count = 0;
    int i = 1;
    while(i <= 200){
        if(i % 3 == 0 && i % 7 == 0){
            printf("%d ", i);
            count++;
        }
        i++;
    }
    printf("\n共有%d个数能被3和7整除\n", count);
}

void reverse(){
    int a[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
    int i = 9;
    while(i >= 0){
        printf("%d ", a[i]);
        i--;
    }
}

void sum(){
    int sum = 0;
    int i = 0;
    int score;
    while(i < 10){
        printf("请输入第%d个学生的成绩:", i+1);
        scanf("%d", &score);
        sum += score;
        i++;
    }
    printf("小组总成绩:%d\n", sum);
    printf("小组平均成绩:%d\n", sum/10);
}

int max(int a, int b){
    return a > b ? a : b;
}

float cm_to_inch(float cm){
    return cm / 2.54;
}

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

void reverse(char *str){
    int len = strlen(str);
    int i = len - 1;
    while(i >= 0){
        printf("%c", str[i]);
        i--;
    }
}

void random(){
    srand(time(NULL));
    int a[100] = {0};
    int i = 0;
    while(i < 5){
        int num = rand() % 100 + 1;
        if(a[num] == 0){
            printf("%d ", num);
            a[num] = 1;
            i++;
        }
    }
}

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

void bubble_sort(int a[], int len){
    int i, j, temp;
    for(i = 0; i < len-1; i++){
        for(j = 0; j < len-1-i; j++){
            if(a[j] > a[j+1]){
                temp = a[j];
                a[j] = a[j+1];
                a[j+1] = temp;
            }
        }
    }
    for(i = 0; i < len; i++){
        printf("%d ", a[i]);
    }
}

int main(){
    //1.求1到100的和
    int res = sum();
    printf("1到100的和:%d\n", res);
    
    //2.求1到n的奇数和和偶数和
    int n;
    printf("请输入一个整数n:");
    scanf("%d", &n);
    sum(n);
    
    //3.求1到100的和
    int res = sum();
    printf("1到100的和:%d\n", res);
    
    //4.求n的阶乘
    int n;
    printf("请输入一个整数n:");
    scanf("%d", &n);
    int res = factorial(n);
    printf("%d的阶乘:%d\n", n, res);
    
    //5.统计200以内能被3和7整除的数及其数量
    count();
    
    //6.反序输出数组
    reverse();
    
    //7.计算小组总成绩及平均成绩
    sum();
    
    //8.随机输入2个整数,返回最大值
    int a, b;
    printf("请输入两个整数:");
    scanf("%d %d", &a, &b);
    int max_num = max(a, b);
    printf("最大值为:%d\n", max_num);
    
    //9.厘米转换英寸
    float cm;
    printf("请输入一个长度(单位:厘米):");
    scanf("%f", &cm);
    float inch = cm_to_inch(cm);
    printf("%.2f厘米 = %.2f英寸\n", cm, inch);
    
    //10.判断是否是素数
    int n;
    printf("请输入一个整数:");
    scanf("%d", &n);
    if(is_prime(n)){
        printf("%d是素数\n", n);
    }
    else{
        printf("%d不是素数\n", n);
    }
    
    //11.反向输出字符串
    char str[100];
    printf("请输入一个字符串:");
    scanf("%s", str);
    reverse(str);
    
    //12.随机输出5个不重复的数
    random();
    
    //13.暴力破解8位数密码
    crack();
    
    //14.冒泡排序
    int a[5] = {5, 81, 65, 9, 10};
    bubble_sort(a, 5);
    
    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/gHW2 著作权归作者所有。请勿转载和采集!

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