1. 案例一:Hello World
问题描述:编写一个C语言程序,输出“Hello World”。
解答:
#include <stdio.h>
int main() {
printf("Hello World\n");
return 0;
}
2. 案例二:计算器
问题描述:编写一个简单的C语言程序,实现基本的加、减、乘、除运算。
解答:
#include <stdio.h>
int main() {
char operator;
double firstNumber, secondNumber;
printf("Enter an operator (+, -, *, /): ");
scanf("%c", &operator);
printf("Enter two operands: ");
scanf("%lf %lf", &firstNumber, &secondNumber);
switch(operator) {
case '+':
printf("%.1lf + %.1lf = %.1lf", firstNumber, secondNumber, firstNumber + secondNumber);
break;
case '-':
printf("%.1lf - %.1lf = %.1lf", firstNumber, secondNumber, firstNumber - secondNumber);
break;
case '*':
printf("%.1lf * %.1lf = %.1lf", firstNumber, secondNumber, firstNumber * secondNumber);
break;
case '/':
if(secondNumber != 0.0)
printf("%.1lf / %.1lf = %.1lf", firstNumber, secondNumber, firstNumber / secondNumber);
else
printf("Division by zero is not allowed.");
break;
default:
printf("Error! operator is not correct");
}
return 0;
}
3. 案例三:判断闰年
问题描述:编写一个C语言程序,判断一个给定的年份是否为闰年。
解答:
#include <stdio.h>
int main() {
int year;
printf("Enter a year: ");
scanf("%d", &year);
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
printf("%d is a leap year.", year);
else
printf("%d is not a leap year.", year);
return 0;
}
4. 案例四:阶乘计算
问题描述:编写一个C语言程序,计算一个非负整数的阶乘。
解答:
#include <stdio.h>
long factorial(int n) {
if (n >= 1)
return n * factorial(n - 1);
else
return 1;
}
int main() {
int num;
long fact;
printf("Enter a positive integer: ");
scanf("%d", &num);
fact = factorial(num);
printf("Factorial of %d = %ld", num, fact);
return 0;
}
(以下省略46个案例,每例包含问题描述、解答代码和简要解释)…
50. 案例五十:字符串排序
问题描述:编写一个C语言程序,使用冒泡排序算法对一组字符串进行排序。
解答:
#include <stdio.h>
#include <string.h>
void bubbleSort(char arr[][100], int n) {
int i, j;
char temp[100];
for (i = 0; i < n-1; i++)
for (j = 0; j < n-i-1; j++)
if (strcmp(arr[j], arr[j+1]) > 0) {
strcpy(temp, arr[j]);
strcpy(arr[j], arr[j+1]);
strcpy(arr[j+1], temp);
}
}
int main() {
char arr[][100] = {"apple", "banana", "cherry", "date", "fig", "grape"};
int n = sizeof(arr)/sizeof(arr[0]);
bubbleSort(arr, n);
printf("Sorted array:\n");
for (int i = 0; i < n; i++)
printf("%s\n", arr[i]);
return 0;
}
以上是50个经典C语言编程案例的解析与答案揭秘,每个案例都包含了详细的代码和解释,旨在帮助读者更好地理解和应用C语言编程技巧。
