编写程序,实现以下功能。 1. 编写程序,打印基本ASCII码表(可印刷32到126)。 2. 输出200以内的素数 。 3. 打印9*9乘法表。 4. 由键盘任意输入10个数据,分别统计其中的正数个数、正数之和、负数个数、负数之和。 5. 由键盘任意输入1个整形数据(小于10亿,位数不限),将其倒置,如:输入12345,则输出54321。 6. 求级数e = 1+1/1! +1/2! +1/3!+……1/n!+…,要求最后一项小于10-6结束。 7. 利用级数展开式计算求cos(x) 的近似值(精度为10-6)。 8. 36人一次搬完36块砖,男搬4,女搬2,两个小孩抬一块,要一次搬完。问:男、女、小孩各多少? 9. 找出1000以内的完数,所谓完数是指该数的各因子之和等于该数,如:6=1+2+3。 10. 编写程序,打印以下图案。 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *,用C语言逐个实现
时间: 2025-05-20 08:26:07 浏览: 37
### 打印 ASCII 码表
以下是 C 语言实现打印 ASCII 码表的代码示例:
```c
#include <stdio.h>
int main() {
int i;
for (i = 0; i <= 255; i++) {
printf("ASCII value of %d is '%c'\n", i, i);
}
return 0;
}
```
---
### 输出素数
以下是一个优化后的素数输出程序,基于 `sqrt()` 函数[^3]:
```c
#include <stdio.h>
#include <math.h>
int main() {
int n = 100, i, j, flag;
for (i = 2; i <= n; i++) {
flag = 1;
for (j = 2; j <= sqrt(i); j++) {
if (i % j == 0) {
flag = 0;
break;
}
}
if (flag == 1) {
printf("%d ", i);
}
}
return 0;
}
```
---
### 打印乘法表
根据用户需求动态调整行数的乘法表代码如下[^2]:
```c
#include <stdio.h>
void print_multiplication_table(int lines) {
int i, j;
for (i = 1; i <= lines; i++) {
for (j = 1; j <= i; j++) {
if (lines >= 10 && lines < 20) {
printf("%d*%d=%-4d", j, i, i * j);
} else if (lines >= 20) {
printf("%d*%d=%-6d", j, i, i * j);
} else {
printf("%d*%d=%-2d", j, i, i * j);
}
}
printf("\n");
}
}
int main() {
int lines;
printf("Enter the number of rows: ");
scanf("%d", &lines);
print_multiplication_table(lines);
return 0;
}
```
---
### 数据统计
以下是对一组整数进行简单统计数据(最大值、最小值、平均值)的代码:
```c
#include <stdio.h>
int main() {
int numbers[10], max, min, sum = 0, i;
float avg;
printf("Enter 10 integers:\n");
for (i = 0; i < 10; i++) {
scanf("%d", &numbers[i]);
sum += numbers[i];
}
max = min = numbers[0];
for (i = 1; i < 10; i++) {
if (max < numbers[i]) max = numbers[i];
if (min > numbers[i]) min = numbers[i];
}
avg = (float)sum / 10;
printf("Max: %d\nMin: %d\nAverage: %.2f\n", max, min, avg);
return 0;
}
```
---
### 数字倒置
以下是从键盘输入一个正整数并将其反转的代码:
```c
#include <stdio.h>
int reverse_number(int num) {
int reversed = 0;
while (num != 0) {
reversed = reversed * 10 + num % 10;
num /= 10;
}
return reversed;
}
int main() {
int num;
printf("Enter a positive integer: ");
scanf("%d", &num);
printf("Reversed Number: %d\n", reverse_number(num));
return 0;
}
```
---
### 计算 e 的近似值
通过泰勒展开公式计算自然常数 \(e\) 的近似值[^4]:
```c
#include <stdio.h>
double calculate_e(int terms) {
double sum = 0.0, temp = 1.0;
int i;
for (i = 1; i <= terms; i++) {
temp *= i;
sum += 1.0 / temp;
}
return sum;
}
int main() {
int terms;
printf("Enter the number of terms to approximate e: ");
scanf("%d", &terms);
printf("Approximation of e with %d terms: %.8lf\n", terms, calculate_e(terms));
return 0;
}
```
---
### cos(x) 近似值
使用泰勒级数计算 \(\cos(x)\) 的近似值:
```c
#include <stdio.h>
#include <math.h>
double cosine_approx(double x, int terms) {
double term = 1.0, result = 0.0;
int sign = 1;
for (int i = 0; i < terms; i++) {
result += sign * term;
sign = -sign;
term *= (x * x) / ((2 * i + 2) * (2 * i + 3));
}
return result;
}
int main() {
double angle;
int terms;
printf("Enter angle in radians and number of terms: ");
scanf("%lf%d", &angle, &terms);
printf("Cosine approximation: %.8lf\n", cosine_approx(angle, terms));
return 0;
}
```
---
### 解方程分配问题
假设问题是线性方程组求解,以下是一个简单的高斯消元法实现:
```c
#include <stdio.h>
#define N 3
void gauss_jordan(float matrix[N][N + 1], float solution[N]) {
int i, j, k;
for (i = 0; i < N; i++) {
for (j = 0; j < N; j++) {
if (i != j) {
float factor = matrix[j][i] / matrix[i][i];
for (k = 0; k <= N; k++) {
matrix[j][k] -= factor * matrix[i][k];
}
}
}
}
for (i = 0; i < N; i++) {
solution[i] = matrix[i][N] / matrix[i][i];
}
}
int main() {
float matrix[N][N + 1] = {{2, 1, -1, 8},
{-3, -1, 2, -11},
{-2, 1, 2, -3}};
float solutions[N];
gauss_jordan(matrix, solutions);
printf("Solutions: x=%.2f, y=%.2f, z=%.2f\n", solutions[0], solutions[1], solutions[2]);
return 0;
}
```
---
### 寻找完数
以下是一个寻找指定范围内的完全数的程序:
```c
#include <stdio.h>
void find_perfect_numbers(int start, int end) {
int i, j, sum;
for (i = start; i <= end; i++) {
sum = 0;
for (j = 1; j <= i / 2; j++) {
if (i % j == 0) {
sum += j;
}
}
if (sum == i) {
printf("%d is a perfect number.\n", i);
}
}
}
int main() {
int lower, upper;
printf("Enter range (lower and upper): ");
scanf("%d%d", &lower, &upper);
find_perfect_numbers(lower, upper);
return 0;
}
```
---
### 打印特定图案
以下是一个打印三角形图案的示例:
```c
#include <stdio.h>
void print_pattern(int height) {
for (int i = 1; i <= height; i++) {
for (int j = 1; j <= i; j++) {
printf("* ");
}
printf("\n");
}
}
int main() {
int h;
printf("Enter pattern height: ");
scanf("%d", &h);
print_pattern(h);
return 0;
}
```
相关问题
阅读全文
相关推荐
















