c语言编写一个程序。将这14个要求封装成函数写到一个程序中: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 = 0;
int i = 1;
while(i <= 100){
sum += i;
i++;
}
printf("1~100的和为:%d", sum);
2.求1~n之间的奇数和和偶数和
int odd_sum = 0;
int even_sum = 0;
int i = 1;
while(i <= n){
if(i % 2 == 0){
even_sum += i;
}else{
odd_sum += i;
}
i++;
}
printf("1~%d之间的奇数和为:%d\n", n, odd_sum);
printf("1~%d之间的偶数和为:%d\n", n, even_sum);
3.求1~100的和
int sum = 0;
int i = 1;
while(i <= 100){
sum += i;
i++;
}
printf("1~100的和为:%d", sum);
4.求n的阶乘
int factorial = 1;
int i = 1;
while(i <= n){
factorial *= i;
i++;
}
printf("%d的阶乘为:%d", n, factorial);
5.统计200以内能同时被7和3整除的数及其数量
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", count);
6.数组反序输出
int a[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
int i;
for(i = 9; i >= 0; i--){
printf("%d ", a[i]);
}
7.计算小组总成绩和平均成绩
int scores[10];
int i;
int sum = 0;
float average;
for(i = 0; i < 10; i++){
scanf("%d", &scores[i]);
sum += scores[i];
}
average = (float)sum / 10;
printf("小组总成绩为:%d\n", sum);
printf("小组平均成绩为:%.2f", average);
8.求两个数的最大值
int max(int a, int b){
return a > b ? a : b;
}
int num1, num2;
printf("请输入两个整数:\n");
scanf("%d%d", &num1, &num2);
int max_num = max(num1, num2);
printf("两个数中的最大值为:%d", max_num);
9.厘米转换成英寸
float cm_to_inch(float cm){
return cm / 2.54;
}
float cm;
printf("请输入厘米数:");
scanf("%f", &cm);
float inch = cm_to_inch(cm);
printf("%.2f厘米等于%.2f英寸", cm, inch);
10.判断一个数是否是素数
int is_prime(int n){
if(n <= 1){
return 0;
}
int i;
for(i = 2; i <= n / 2; i++){
if(n % i == 0){
return 0;
}
}
return 1;
}
int num;
printf("请输入一个整数:");
scanf("%d", &num);
if(is_prime(num)){
printf("%d是素数", num);
}else{
printf("%d不是素数", num);
}
11.反向输出字符串
char str[100];
printf("请输入一段字符串:");
scanf("%s", str);
int len = strlen(str);
int i;
for(i = len - 1; i >= 0; i--){
printf("%c", str[i]);
}
12.从1~100内随机输出5个不重复的数
#include <stdlib.h>
#include <time.h>
int main(){
srand(time(NULL));
int nums[5];
int count = 0;
while(count < 5){
int num = rand() % 100 + 1;
int i;
int flag = 1;
for(i = 0; i < count; i++){
if(nums[i] == num){
flag = 0;
break;
}
}
if(flag){
nums[count] = num;
count++;
}
}
int i;
for(i = 0; i < 5; i++){
printf("%d ", nums[i]);
}
return 0;
}
13.暴力破解8位数密码
#include <stdlib.h>
#include <time.h>
int main(){
srand(time(NULL));
char password[9] = "12345678";
char guess[9];
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++){
guess[0] = i + '0';
guess[1] = j + '0';
guess[2] = k + '0';
guess[3] = l + '0';
guess[4] = m + '0';
guess[5] = n + '0';
guess[6] = o + '0';
guess[7] = p + '0';
if(strcmp(guess, password) == 0){
printf("密码为:%s\n", guess);
return 0;
}
}
}
}
}
}
}
}
}
printf("破解失败");
return 0;
}
14.冒泡排序
void bubble_sort(int arr[], int len){
int i, j;
for(i = 0; i < len - 1; i++){
for(j = 0; j < len - i - 1; j++){
if(arr[j] > arr[j + 1]){
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main(){
int arr[5] = {5, 81, 65, 9, 10};
bubble_sort(arr, 5);
int i;
for(i = 0; i < 5; i++){
printf("%d ", arr[i]);
}
return 0;
}
``
原文地址: https://www.cveoy.top/t/topic/gH0T 著作权归作者所有。请勿转载和采集!