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封装一个函数并且在主函数中
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;
}
``
原文地址: https://www.cveoy.top/t/topic/gHW2 著作权归作者所有。请勿转载和采集!