2025-03-04
This commit is contained in:
parent
2491d0e09c
commit
ecef67c3a5
32
2207/天天乐学答案/C语言/C语言(二)/combine_c_files.sh
Executable file
32
2207/天天乐学答案/C语言/C语言(二)/combine_c_files.sh
Executable file
@ -0,0 +1,32 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 输出文件名
|
||||
output_file="combined.md"
|
||||
|
||||
# 清空或创建输出文件
|
||||
> "$output_file"
|
||||
|
||||
# 遍历 1.c 到 20.c
|
||||
for i in {1..20}; do
|
||||
file="${i}.c"
|
||||
|
||||
# 检查文件是否存在
|
||||
if [[ -f "$file" ]]; then
|
||||
# 添加标题
|
||||
echo "### C语言-${i}" >> "$output_file"
|
||||
|
||||
# 添加代码块开始
|
||||
echo '```c' >> "$output_file"
|
||||
|
||||
# 将文件内容直接追加到输出文件(视为 GB2312 编码)
|
||||
cat "$file" >> "$output_file"
|
||||
|
||||
# 添加代码块结束
|
||||
echo '```' >> "$output_file"
|
||||
|
||||
# 添加一个空行
|
||||
echo "" >> "$output_file"
|
||||
else
|
||||
echo "文件 $file 不存在,跳过。"
|
||||
fi
|
||||
done
|
549
2207/天天乐学答案/C语言/C语言(二)/combined.md
Normal file
549
2207/天天乐学答案/C语言/C语言(二)/combined.md
Normal file
@ -0,0 +1,549 @@
|
||||
### C语言-1
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
编程计算:s=1×2×3×……×n (n由键盘输入,使用for循环)
|
||||
-------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
int i,n,p;
|
||||
p=1;
|
||||
printf("请输入一个正整数n:");
|
||||
scanf("%d",&n);
|
||||
/**********Program**********/
|
||||
for(i=2;i<=n;i++){
|
||||
p*=i;
|
||||
}
|
||||
|
||||
/********** End **********/
|
||||
printf("1*2*...*%d = %d\n",n,p);
|
||||
}
|
||||
|
||||
|
||||
```
|
||||
|
||||
### C语言-2
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
编程计算π的近似值(直到最后一项的绝对值小于10-5为止),要求保留小数点后10位: (使用while)
|
||||
-------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
#include <math.h>
|
||||
main()
|
||||
{
|
||||
int i,f;
|
||||
double t,s;
|
||||
f=1;
|
||||
s=0;
|
||||
i=1;
|
||||
t=1.0;
|
||||
/**********Program**********/
|
||||
while(fabs(t/i)>1e-5){
|
||||
s+=t/i*f;//计算该项的值
|
||||
f*=-1;//翻转符号
|
||||
i+=2;
|
||||
}
|
||||
|
||||
/********** End **********/
|
||||
s=s*4;
|
||||
printf("圆周率的近似值为:%.10f\n",s);
|
||||
}
|
||||
```
|
||||
|
||||
### C语言-3
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
编程计算π的近似值(直到最后一项的绝对值小于10-5为止,使用while):
|
||||
-------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
#include <math.h>
|
||||
#define N 1e-5
|
||||
main()
|
||||
{
|
||||
int i,f;
|
||||
double t,s;
|
||||
f=1;
|
||||
s=0;
|
||||
i=1;
|
||||
t=1.0;
|
||||
/**********Program**********/
|
||||
while(fabs(t/i)>N){
|
||||
s+=t/i*f;//计算该项的值
|
||||
f*=-1;//翻转符号
|
||||
i+=2;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/********** End **********/
|
||||
s=s*4 ;
|
||||
printf("圆周率的近似值为:%f\n",s);
|
||||
}
|
||||
```
|
||||
|
||||
### C语言-4
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
功能:编程实现求1-10(包含1,不包含10)之间的所有数的乘积并输出。(使用while)
|
||||
--------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
main( )
|
||||
{
|
||||
int i=1, sum=1;
|
||||
/**********Program**********/
|
||||
while(i<10){
|
||||
sum*=i;
|
||||
i++;
|
||||
}
|
||||
|
||||
/********** End **********/
|
||||
printf("the sum of odd is :%d\n",sum);
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
### C语言-5
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
功能:从键盘上输入若干个学生的成绩,统计并输出最高成绩和最
|
||||
低成绩,当输入负数时结束输入。(使用while循环)
|
||||
--------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
int x,max,min;
|
||||
printf("please input x:\n");
|
||||
scanf("%d",&x);
|
||||
max=x;
|
||||
min=x;
|
||||
/**********Program**********/
|
||||
while(x > 0){
|
||||
if(x > max){
|
||||
max = x;
|
||||
}
|
||||
if(x < min){
|
||||
min = x;
|
||||
}
|
||||
scanf("%d", &x);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/********** End **********/
|
||||
printf("max=%d,min=%d\n",max,min);
|
||||
}
|
||||
```
|
||||
|
||||
### C语言-6
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
编程计算:使用for计算,s=1+2+3+……+n (n由键盘输入)
|
||||
-------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
int i,n,sum;
|
||||
sum=0;
|
||||
printf("请输入一个正整数n:");
|
||||
scanf("%d",&n);
|
||||
/**********Program**********/
|
||||
for(i=1;i<=n;i++){
|
||||
sum+=i;
|
||||
}
|
||||
|
||||
/********** End **********/
|
||||
printf("1+2+...+%d = %d\n",n,sum);
|
||||
}
|
||||
|
||||
|
||||
```
|
||||
|
||||
### C语言-7
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
功能:编写比较a、b两个数的大小,且把大者赋给max,小者赋给min。
|
||||
--------------------------------------------------------*/
|
||||
#include"stdio.h"
|
||||
main()
|
||||
{
|
||||
int a,b,min,max;
|
||||
printf("输入两个数给a,b:");
|
||||
scanf("%d,%d",&a,&b);
|
||||
/**********Program**********/
|
||||
if (a > b) {
|
||||
max = a;
|
||||
min = b;
|
||||
} else {
|
||||
max = b;
|
||||
min = a;
|
||||
}
|
||||
/********** End **********/
|
||||
printf("min=%d,max=%d\n",min,max);
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
### C语言-8
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
功能:输入三个整数x,y,z,请把这三个数由小到大输出。
|
||||
--------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
int x,y,z,t;
|
||||
scanf("%d%d%d",&x , &y , &z);
|
||||
/**********Program**********/
|
||||
if (x > y) {
|
||||
t = x;
|
||||
x = y;
|
||||
y = t;
|
||||
}
|
||||
if (y > z) {
|
||||
t = y;
|
||||
y = z;
|
||||
z = t;
|
||||
}
|
||||
if (x > y) {
|
||||
t = x;
|
||||
x = y;
|
||||
y = t;
|
||||
}
|
||||
/********** End **********/
|
||||
printf("small to big: %d %d %d\n",x,y,z);
|
||||
}
|
||||
```
|
||||
|
||||
### C语言-9
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
功能:从键盘输入整数n,输出n以内所有奇数的和。(使用for循环)
|
||||
--------------------------------------------------------*/
|
||||
#include<stdio.h>
|
||||
void main()
|
||||
{
|
||||
int n,i,s;
|
||||
s=0;
|
||||
scanf("%d",&n);
|
||||
/**********Program**********/
|
||||
for(i=1;i<=n;i++){
|
||||
if(i%2==1){
|
||||
s+=i;
|
||||
}
|
||||
}
|
||||
|
||||
/********** End **********/
|
||||
printf("s=%d\n",s);
|
||||
}
|
||||
```
|
||||
|
||||
### C语言-10
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
编程计算:s=1!+3!+5!+…n! (n由键盘输入,使用for循环)
|
||||
-------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
int i,j,n;
|
||||
long p,sum;
|
||||
sum=0;
|
||||
printf("请输入一个正整数n:");
|
||||
scanf("%d",&n);
|
||||
/**********Program**********/
|
||||
p = 1;
|
||||
for ( i = 1;i <= n; i++ ) {
|
||||
p *= i;
|
||||
if ( i%2 == 1 ) {
|
||||
sum += p;
|
||||
}
|
||||
}
|
||||
|
||||
/********** End **********/
|
||||
printf("1!+3!+...+%d!= %d\n",n,sum);
|
||||
}
|
||||
```
|
||||
|
||||
### C语言-11
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
编程计算求e近似值:
|
||||
用while语句求直到最后一项值小于10-5为止。
|
||||
e=0+1+1/1+1/1/2+1/1/2/3...
|
||||
-------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
int i;
|
||||
double t,e;
|
||||
i=1;
|
||||
t=1.0;
|
||||
e=0;
|
||||
/**********Program**********/
|
||||
e = 2;
|
||||
i = 2;
|
||||
while(t/i > 1e-5){
|
||||
e += t/i;
|
||||
t /= i++;
|
||||
}
|
||||
|
||||
/********** End **********/
|
||||
printf("e=%f\n",e);
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
### C语言-12
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
编程计算求e近似值: 用for语句求前50项之和。
|
||||
e=0+1+1/1+1/1/2+1/1/2/3...
|
||||
-------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
int i;
|
||||
double t,e;
|
||||
t=1.0;
|
||||
e=0;
|
||||
for(i=1;i<=50;i++)
|
||||
{
|
||||
/**********Program**********/
|
||||
e += t;
|
||||
t /= i;
|
||||
/********** End **********/
|
||||
}
|
||||
printf("前50项之和为:%f\n",e);
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
### C语言-13
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
功能:输入一个圆半径(r),当r>=0时,计算并输出圆的面积(area)和周长(circumference),否则,输出提示信息。
|
||||
--------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
#define PI 3.14
|
||||
main()
|
||||
{
|
||||
float r,s,l;
|
||||
printf("please input r:\n");
|
||||
scanf("%f",&r);
|
||||
if (r>=0)
|
||||
{
|
||||
/**********Program**********/
|
||||
s = PI * r*r;
|
||||
l = 2*PI*r;
|
||||
|
||||
/********** End **********/
|
||||
printf("the area is %f\n",s);
|
||||
printf("the circumference is %f\n",l);
|
||||
}
|
||||
else
|
||||
printf("input error!\n");
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
### C语言-14
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
功能:编写程序输入三位数(100-999),然后按数字逆序输出。(例:输入456↙,输出654)。
|
||||
--------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
void main()
|
||||
{
|
||||
int n,ge,shi,bai;
|
||||
printf("请输入一个三位正整数:");
|
||||
scanf("%d",&n);
|
||||
if((n<100)||(n>999))
|
||||
printf("输入数据有误!\n");
|
||||
else
|
||||
{
|
||||
/**********Program**********/
|
||||
ge = n % 10;
|
||||
shi = n % 100 / 10;
|
||||
bai = n / 100;
|
||||
|
||||
|
||||
/********** End **********/
|
||||
printf("此数的逆序输出结果为:%d%d%d\n",ge,shi,bai);
|
||||
}
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
### C语言-15
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
编程计算:s=1!+2!+3!+…n! (n由键盘输入,使用for循环)
|
||||
-------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
int i,j,n;
|
||||
long p,sum;
|
||||
sum=0;
|
||||
printf("请输入一个正整数n:");
|
||||
scanf("%d",&n);
|
||||
/**********Program**********/
|
||||
p = 1;
|
||||
for( i = 1;i <= n; i++ ){
|
||||
p *= i;
|
||||
sum += p;
|
||||
}
|
||||
|
||||
/********** End **********/
|
||||
printf("1!+2!+...+%d!= %d\n",n,sum);
|
||||
}
|
||||
```
|
||||
|
||||
### C语言-16
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
编程计算:s=1-3+5-7+……-99(使用for循环)
|
||||
-------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
int i,f,sum;
|
||||
f=1;
|
||||
sum=0;
|
||||
/**********Program**********/
|
||||
for(i=1;i<=99;i++){
|
||||
if(i%2==1){
|
||||
sum += i*f;
|
||||
f*=-1;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/********** End **********/
|
||||
printf("1-3+5-7+...-99 = %d\n",sum);
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
### C语言-17
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
功能:编写一个简单计算器程序,输入格式为:a op b。其中 a和b是
|
||||
参加运算的两个数,op 为运算符,它的取值只能是+、-、*、/。
|
||||
例:(注意输出格式)
|
||||
输入:3,+,4
|
||||
输出:3.000000+4.000000=7.000000
|
||||
--------------------------------------------------------*/
|
||||
#include<stdio.h>
|
||||
main()
|
||||
{
|
||||
float a,b;
|
||||
char op;
|
||||
printf("Please enter a,b and op:");
|
||||
scanf("%f,%c,%f",&a,&op,&b);
|
||||
switch(op)
|
||||
{
|
||||
/**********Program**********/
|
||||
case '+':printf("%f+%f=%f\n", a, b, a+b);break;
|
||||
case '-':printf("%f-%f=%f\n", a, b, a-b);break;
|
||||
case '*':printf("%f*%f=%f\n", a, b, a*b);break;
|
||||
/********** End **********/
|
||||
case '/':if(b!=0)
|
||||
printf("%f/%f=%f\n",a,b,a/b);
|
||||
else
|
||||
printf("error!\n");break;
|
||||
default:printf("error!\n");break;
|
||||
}
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
### C语言-18
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
功能:编写程序,把三个整数中最大的打印出来。
|
||||
--------------------------------------------------------*/
|
||||
#include"stdio.h"
|
||||
main()
|
||||
{
|
||||
int a,b,c,m;
|
||||
scanf("%d,%d,%d", &a,&b,&c);
|
||||
/**********Program**********/
|
||||
m = a;
|
||||
if( b > m ){
|
||||
m = b;
|
||||
}
|
||||
if ( c > m ) {
|
||||
m = c;
|
||||
}
|
||||
|
||||
/********** End **********/
|
||||
printf ("m=%d\n",m);
|
||||
}
|
||||
```
|
||||
|
||||
### C语言-19
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
功能::使用for循环打印出如下图案(菱形)
|
||||
|
||||
*
|
||||
***
|
||||
*****
|
||||
*******
|
||||
*****
|
||||
***
|
||||
*
|
||||
--------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
int i,j,k;
|
||||
/**********Program**********/
|
||||
for(i=-3;i<=3;i++){
|
||||
for(j=0;j<(i<0?-i:i);j++){
|
||||
printf(" ");
|
||||
}
|
||||
for(k=0;k<7-j*2;k++){
|
||||
printf("*");
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
/********** End **********/
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
### C语言-20
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
功能:找出n个数中最大的数和最小的数,并将它们的值输出出来。
|
||||
--------------------------------------------------------*/
|
||||
#include<stdio.h>
|
||||
int main()
|
||||
{
|
||||
int a,n,i,min,max;
|
||||
scanf("%d",&n);
|
||||
scanf("%d",&a);
|
||||
min=a;
|
||||
max=a;
|
||||
for(i=1;i<n;i++)
|
||||
{
|
||||
/**********Program**********/
|
||||
scanf("%d", &a);
|
||||
if(a > max){
|
||||
max = a;
|
||||
}
|
||||
if(a < min){
|
||||
min = a;
|
||||
}
|
||||
/********** End **********/
|
||||
}
|
||||
printf("The maximum number is %d.\n",max);
|
||||
printf("The minimum number is %d.\n",min);
|
||||
}
|
||||
|
||||
```
|
||||
|
Loading…
x
Reference in New Issue
Block a user