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的和
#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;
}
``
原文地址: https://www.cveoy.top/t/topic/gHYE 著作权归作者所有。请勿转载和采集!