Auto commit
This commit is contained in:
parent
d198c8044c
commit
cd6b19e43c
@ -1,9 +1,9 @@
|
||||
### C语言-1
|
||||
### C语言-1
|
||||
|
||||
```c
|
||||
/*------------------------------------------------------------------------------
|
||||
(1)【程序设计】下列给定程序中,fun函数的功能是:分别统计字符串中大写字母和小写字母的个数。
|
||||
例如,给字符串s输入:AAaaBBbb123CCcccd,则应输出:upper=6,lower=8。
|
||||
(1)【程序设计】下列给定程序中,fun函数的功能是:分别统计字符串中大写字母和小写字母的个数。
|
||||
例如,给字符串s输入:AAaaBBbb123CCcccd,则应输出:upper=6,lower=8。
|
||||
------------------------------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
void fun ( char *s, int *a, int *b)
|
||||
@ -36,15 +36,15 @@ main( )
|
||||
|
||||
|
||||
|
||||
### C语言-2
|
||||
### C语言-2
|
||||
|
||||
```c
|
||||
/*------------------------------------------------------------------------
|
||||
题目:函数fun的功能:将字符串str中第k个字符开始的n个字符逆序重排,
|
||||
例如:输入1,5 输出54321abcde
|
||||
输入3,6 输出12cba543de
|
||||
注意:部分源程序给出如下。请勿改动主函数main或其它函数中给出的内容,仅在
|
||||
Program-End之间填入若干语句。不要删除标志否则不得分。
|
||||
题目:函数fun的功能:将字符串str中第k个字符开始的n个字符逆序重排,
|
||||
例如:输入1,5 输出54321abcde
|
||||
输入3,6 输出12cba543de
|
||||
注意:部分源程序给出如下。请勿改动主函数main或其它函数中给出的内容,仅在
|
||||
Program-End之间填入若干语句。不要删除标志否则不得分。
|
||||
----------------------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
@ -70,7 +70,7 @@ int main( )
|
||||
{ fun(str,k,n);
|
||||
puts(str); }
|
||||
else
|
||||
printf("所输入的k,n值不合适!\n");
|
||||
printf("所输入的k,n值不合适!\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -80,11 +80,11 @@ int main( )
|
||||
|
||||
|
||||
|
||||
### C语言-3
|
||||
### C语言-3
|
||||
|
||||
```c
|
||||
/*------------------------------------------------------------------
|
||||
功能:编程统计一个字符串中的字母、数字、空格和其它字符的个数。
|
||||
功能:编程统计一个字符串中的字母、数字、空格和其它字符的个数。
|
||||
---------------------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
void fun(char s[],int b[])
|
||||
@ -126,18 +126,18 @@ main ()
|
||||
|
||||
|
||||
|
||||
### C语言-4
|
||||
### C语言-4
|
||||
|
||||
```c
|
||||
/*------------------------------------------------------------------------
|
||||
程序功能:从键盘输入三个整数,比较三个数并显示相应信息,具体如下:
|
||||
(1)如果三个数都相等,显示"***";
|
||||
(2)如果三个数中只有某两个数相等,显示"@@";
|
||||
(3)如果三个数互不相等,则显示"&"。
|
||||
(输出要换行)
|
||||
程序功能:从键盘输入三个整数,比较三个数并显示相应信息,具体如下:
|
||||
(1)如果三个数都相等,显示"***";
|
||||
(2)如果三个数中只有某两个数相等,显示"@@";
|
||||
(3)如果三个数互不相等,则显示"&"。
|
||||
(输出要换行)
|
||||
------------------------------------------------------------------------
|
||||
注意:部分源程序给出如下。请勿改动主函数main或其它函数中给出的内容,仅在
|
||||
Program-End之间删除【?】填入若干语句。不要删除标志否则不得分。
|
||||
注意:部分源程序给出如下。请勿改动主函数main或其它函数中给出的内容,仅在
|
||||
Program-End之间删除【?】填入若干语句。不要删除标志否则不得分。
|
||||
----------------------------------------------------------------------*/
|
||||
#include<stdio.h>
|
||||
int main()
|
||||
@ -174,17 +174,17 @@ CREATE TABLE t_hotel_manager(
|
||||
hid INT NOT NULL,
|
||||
mname VARCHAR(10) NOT NULL,
|
||||
mage INT NOT NULL,
|
||||
mgender ENUM('男', '女', '未知'),
|
||||
mgender ENUM('男', '女', '未知'),
|
||||
telephone VARCHAR(11)
|
||||
);
|
||||
#2
|
||||
#使用MODIFY添加主键字段为自动增长
|
||||
#使用MODIFY添加主键字段为自动增长
|
||||
ALTER TABLE t_hotel_manager MODIFY mid INT AUTO_INCREMENT;
|
||||
#设置自增起始值
|
||||
#设置自增起始值
|
||||
ALTER TABLE t_hotel_manager AUTO_INCREMENT = 1000;
|
||||
#3
|
||||
INSERT INTO t_hotel_manager()
|
||||
VALUES(DEFAULT, 10001, '王璐', 32, '女', NULL);
|
||||
VALUES(DEFAULT, 10001, '王璐', 32, '女', NULL);
|
||||
#4
|
||||
CREATE TABLE t_hotel_bak AS
|
||||
SELECT *
|
||||
@ -192,7 +192,7 @@ FROM t_hotel;
|
||||
#5
|
||||
UPDATE t_client c
|
||||
SET c.integral = c.integral + 100
|
||||
WHERE c.cname LIKE '姚%';
|
||||
WHERE c.cname LIKE '姚%';
|
||||
#6 tj11
|
||||
SELECT c.cname, SUM(r.price)
|
||||
FROM t_booking b, t_client c, t_room r
|
||||
@ -204,10 +204,10 @@ LIMIT 9, 1;
|
||||
#7 tj12
|
||||
SELECT h.hname, r.price
|
||||
FROM t_hotel h, t_room r
|
||||
WHERE h.hid = r.hid AND r.rname = '大床房' AND r.price = (
|
||||
WHERE h.hid = r.hid AND r.rname = '大床房' AND r.price = (
|
||||
SELECT MAX(price)
|
||||
FROM t_room
|
||||
WHERE rname = '大床房'
|
||||
WHERE rname = '大床房'
|
||||
);
|
||||
|
||||
#8 tj13
|
||||
@ -217,7 +217,7 @@ LEFT JOIN t_booking b ON r.rid = b.rid
|
||||
INNER JOIN t_hotel h ON r.hid = h.hid
|
||||
WHERE b.bid IS NULL;
|
||||
|
||||
#9 视图
|
||||
#9 视图
|
||||
CREATE VIEW v_tongji AS
|
||||
SELECT h.hname, SUM(r.price)
|
||||
FROM t_hotel h, t_booking b, t_room r
|
||||
@ -230,20 +230,20 @@ GROUP BY h.hid;
|
||||
### MySQL-2
|
||||
|
||||
```sql
|
||||
#1添加主键
|
||||
#1添加主键
|
||||
ALTER TABLE tb_student ADD PRIMARY KEY(student_id);
|
||||
|
||||
#2设置默认值
|
||||
ALTER TABLE tb_student ALTER gender SET DEFAULT '男';
|
||||
#2设置默认值
|
||||
ALTER TABLE tb_student ALTER gender SET DEFAULT '男';
|
||||
|
||||
#3 插入记录
|
||||
#3 插入记录
|
||||
INSERT INTO tb_student()
|
||||
VALUES(10025, '张三', DEFAULT, '2012-10-01', 1001);
|
||||
VALUES(10025, '张三', DEFAULT, '2012-10-01', 1001);
|
||||
|
||||
#4 更新记录
|
||||
#4 更新记录
|
||||
UPDATE tb_teacher t
|
||||
SET t.teacher_age = 36
|
||||
WHERE t.teacher_name = '王老师';
|
||||
WHERE t.teacher_name = '王老师';
|
||||
|
||||
#5 tj11
|
||||
SELECT MAX(t.teacher_age)
|
||||
@ -254,7 +254,7 @@ SELECT c.class_name, s.student_name, s.gender
|
||||
FROM tb_teacher t, tb_student s, tb_class C
|
||||
where s.class_id = c.class_id AND c.teacher_id = t.teacher_id;
|
||||
|
||||
#7 视图
|
||||
#7 视图
|
||||
CREATE VIEW v_teacher AS
|
||||
SELECT c.class_name, t.teacher_name, COUNT(*)
|
||||
FROM tb_teacher t, tb_student s, tb_class C
|
||||
@ -269,11 +269,11 @@ BEFORE UPDATE ON tb_teacher
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
IF NEW.teacher_age < 30 THEN
|
||||
SET NEW.age = '青年';
|
||||
SET NEW.age = '青年';
|
||||
ELSEIF NEW.teacher_age < 50 THEN
|
||||
SET NEW.age = '中年';
|
||||
SET NEW.age = '中年';
|
||||
ELSE
|
||||
SET NEW.age = '老年';
|
||||
SET NEW.age = '老年';
|
||||
END IF;
|
||||
END $$
|
||||
DELIMITER ;
|
||||
|
@ -1,17 +1,17 @@
|
||||
### C语言-1
|
||||
### C语言-1
|
||||
|
||||
```c
|
||||
/*---------------------------------------------------------
|
||||
【程序设计】程序将由数字字符组成的字符串转换为10进制实数,
|
||||
例如将"123.4567"转换为123.45670。
|
||||
【程序设计】程序将由数字字符组成的字符串转换为10进制实数,
|
||||
例如将"123.4567"转换为123.45670。
|
||||
|
||||
输出如下:
|
||||
输出如下:
|
||||
123.45670
|
||||
0.12345
|
||||
4567.00000
|
||||
------------------------------------------------------------------------
|
||||
注意:部分源程序给出如下。请勿改动主函数main或其它函数中给出的内容,仅在
|
||||
Program-End之间填入若干语句。不要删除标志否则不得分。
|
||||
注意:部分源程序给出如下。请勿改动主函数main或其它函数中给出的内容,仅在
|
||||
Program-End之间填入若干语句。不要删除标志否则不得分。
|
||||
---------------------------------------------------------*/
|
||||
#include<stdio.h>
|
||||
#include<ctype.h>
|
||||
@ -49,14 +49,14 @@ int main()
|
||||
|
||||
```
|
||||
|
||||
### C语言-2
|
||||
### C语言-2
|
||||
|
||||
```c
|
||||
/*
|
||||
-------------------------------------------------------
|
||||
【程序填空】
|
||||
【程序填空】
|
||||
---------------------------------------------------------
|
||||
打印以下图案:
|
||||
打印以下图案:
|
||||
*****
|
||||
*****
|
||||
*****
|
||||
@ -90,13 +90,13 @@ void main()
|
||||
|
||||
```
|
||||
|
||||
### C语言-3
|
||||
### C语言-3
|
||||
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
功能:功能:输入三角形的三边长,判断能否构成三角形,若能,利用海伦公式计
|
||||
算该三角形的面积,计算结果保留3位小数。
|
||||
l=(a+b+c)/2,s=sqrt(l*(l-a)*(l-b)*(l-c))
|
||||
功能:功能:输入三角形的三边长,判断能否构成三角形,若能,利用海伦公式计
|
||||
算该三角形的面积,计算结果保留3位小数。
|
||||
l=(a+b+c)/2,s=sqrt(l*(l-a)*(l-b)*(l-c))
|
||||
--------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
#include <math.h>
|
||||
@ -105,7 +105,7 @@ main()
|
||||
float a,b,c,s,l;
|
||||
scanf("%f,%f,%f",&a , &b , &c);
|
||||
if(a+b<c||a+c<b||b+c<a)
|
||||
printf("该3个数据不能构成三角形\n");
|
||||
printf("该3个数据不能构成三角形\n");
|
||||
else
|
||||
{
|
||||
/**********Program**********/
|
||||
@ -114,18 +114,18 @@ main()
|
||||
|
||||
|
||||
/********** End **********/
|
||||
printf("该三角形的面积为%.3f\n",s);
|
||||
printf("该三角形的面积为%.3f\n",s);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
### C语言-4
|
||||
### C语言-4
|
||||
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
编写程序,打印以下图形:
|
||||
编写程序,打印以下图形:
|
||||
|
||||
*
|
||||
***
|
||||
@ -160,12 +160,12 @@ main()
|
||||
|
||||
```
|
||||
|
||||
### C语言-5
|
||||
### C语言-5
|
||||
|
||||
```c
|
||||
/*-----------------------------------------------------------
|
||||
功能:从键盘为一维整型数组输入10个整数,调用函数找出其中
|
||||
最小的数并输出。
|
||||
功能:从键盘为一维整型数组输入10个整数,调用函数找出其中
|
||||
最小的数并输出。
|
||||
-----------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
#include<stdlib.h>
|
||||
@ -195,18 +195,18 @@ main()
|
||||
|
||||
```
|
||||
|
||||
### C语言-6
|
||||
### C语言-6
|
||||
|
||||
```c
|
||||
/*------------------------------------------------------------------------------
|
||||
【程序设计】编写函数rtrim,用来删除字符串尾部的空格,首部和中间的空格不删除。例如:字符串为:" A BC DEF ",
|
||||
删除后的结果是" A BC DEF"。要求函数形参采用指针变量。
|
||||
测试输入: A BC DEF
|
||||
测试输出: A BC DEF
|
||||
说明:测试输入中,A前有4个空格,F后有5个空格
|
||||
【程序设计】编写函数rtrim,用来删除字符串尾部的空格,首部和中间的空格不删除。例如:字符串为:" A BC DEF ",
|
||||
删除后的结果是" A BC DEF"。要求函数形参采用指针变量。
|
||||
测试输入: A BC DEF
|
||||
测试输出: A BC DEF
|
||||
说明:测试输入中,A前有4个空格,F后有5个空格
|
||||
------------------------------------------------------------------------
|
||||
注意:部分源程序给出如下。请勿改动主函数main或其它函数中给出的内容,否则不得分。
|
||||
仅在Program-End之间填入若干语句。不要删除标志否则不得分。
|
||||
注意:部分源程序给出如下。请勿改动主函数main或其它函数中给出的内容,否则不得分。
|
||||
仅在Program-End之间填入若干语句。不要删除标志否则不得分。
|
||||
------------------------------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
@ -225,11 +225,11 @@ void rtrim(char *p)
|
||||
while(*p != '\0'){
|
||||
p++;
|
||||
}
|
||||
p--;//定位到结束符前的位置
|
||||
while(*p==' '){//如果当前指针位置是空格则指针向前移
|
||||
p--;//定位到结束符前的位置
|
||||
while(*p==' '){//如果当前指针位置是空格则指针向前移
|
||||
p--;
|
||||
}
|
||||
p++;//移动当前位置后一个空格位
|
||||
p++;//移动当前位置后一个空格位
|
||||
*p='\0';
|
||||
|
||||
|
||||
@ -238,17 +238,17 @@ void rtrim(char *p)
|
||||
|
||||
```
|
||||
|
||||
### C语言-7
|
||||
### C语言-7
|
||||
|
||||
```c
|
||||
/*------------------------------------------------------------------------------
|
||||
【程序设计】输入字符串(不包含空格),将字符串按字符从小到大排序,然后输出字符串中除去ASCII码值能被3整除的字符。
|
||||
输入输出如下:
|
||||
【程序设计】输入字符串(不包含空格),将字符串按字符从小到大排序,然后输出字符串中除去ASCII码值能被3整除的字符。
|
||||
输入输出如下:
|
||||
hello world
|
||||
处理后的字符串为: dehw
|
||||
处理后的字符串为: dehw
|
||||
------------------------------------------------------------------------
|
||||
注意:部分源程序给出如下。请勿改动主函数main或其它函数中给出的内容,否则不得分。
|
||||
仅在Program-End之间填入若干语句。不要删除标志否则不得分。
|
||||
注意:部分源程序给出如下。请勿改动主函数main或其它函数中给出的内容,否则不得分。
|
||||
仅在Program-End之间填入若干语句。不要删除标志否则不得分。
|
||||
------------------------------------------------------------------------------*/
|
||||
#include<stdio.h>
|
||||
#include <string.h>
|
||||
@ -267,7 +267,7 @@ void main()
|
||||
t=str[j];str[j]=str[j+1];str[j+1]=t;
|
||||
}
|
||||
}
|
||||
printf("处理后的字符串为:");
|
||||
printf("处理后的字符串为:");
|
||||
/**********Program**********/
|
||||
j=0;
|
||||
for(i=0;i<strlen(str);i++){
|
||||
@ -285,14 +285,14 @@ void main()
|
||||
}
|
||||
```
|
||||
|
||||
### C语言-8
|
||||
### C语言-8
|
||||
|
||||
```c
|
||||
/*------------------------------------------------------------------------------
|
||||
【程序设计】该程序实现的功能是:求一个整数各位数字之和。(使用while实现)
|
||||
【程序设计】该程序实现的功能是:求一个整数各位数字之和。(使用while实现)
|
||||
------------------------------------------------------------------------
|
||||
注意:部分源程序给出如下。请勿改动主函数main或其它函数中给出的内容,否则不得分。
|
||||
仅在Program-End之间填入若干语句。不要删除标志否则不得分。
|
||||
注意:部分源程序给出如下。请勿改动主函数main或其它函数中给出的内容,否则不得分。
|
||||
仅在Program-End之间填入若干语句。不要删除标志否则不得分。
|
||||
------------------------------------------------------------------------------*/
|
||||
#include<stdio.h>
|
||||
|
||||
@ -314,27 +314,27 @@ int main()
|
||||
int n,sum;
|
||||
scanf("%d",&n);
|
||||
sum=getsum(n);
|
||||
printf("结果是%d\n",sum);
|
||||
printf("结果是%d\n",sum);
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
### C语言-9
|
||||
### C语言-9
|
||||
|
||||
```c
|
||||
/*------------------------------------------------------------------------------
|
||||
【程序设计】有两个降序排列的集合A和B,A中无重复元素,B中也无重复元素,
|
||||
求集合B-A的差集(即:这些元素属于集合B但不属于集合A),存放于数组c中,并输出。
|
||||
输入输出如下:
|
||||
请输入3个整数:
|
||||
【程序设计】有两个降序排列的集合A和B,A中无重复元素,B中也无重复元素,
|
||||
求集合B-A的差集(即:这些元素属于集合B但不属于集合A),存放于数组c中,并输出。
|
||||
输入输出如下:
|
||||
请输入3个整数:
|
||||
3 2 1
|
||||
请输入5个整数:
|
||||
请输入5个整数:
|
||||
9 6 5 3 2
|
||||
结果为:
|
||||
结果为:
|
||||
9 6 5
|
||||
------------------------------------------------------------------------
|
||||
注意:部分源程序给出如下。请勿改动主函数main或其它函数中给出的内容,否则不得分。
|
||||
仅在Program-End之间填入若干语句。不要删除标志否则不得分。
|
||||
注意:部分源程序给出如下。请勿改动主函数main或其它函数中给出的内容,否则不得分。
|
||||
仅在Program-End之间填入若干语句。不要删除标志否则不得分。
|
||||
------------------------------------------------------------------------------*/
|
||||
#include<stdio.h>
|
||||
|
||||
@ -342,11 +342,11 @@ void main()
|
||||
{
|
||||
int a[3],b[5],c[5];
|
||||
int t=0,i,j=0;
|
||||
printf("请输入3个整数:\n");
|
||||
printf("请输入3个整数:\n");
|
||||
for(i=0;i<3;i++){
|
||||
scanf("%d",&a[i]);
|
||||
}
|
||||
printf("请输入5个整数:\n");
|
||||
printf("请输入5个整数:\n");
|
||||
for(i=0;i<5;i++){
|
||||
scanf("%d",&b[i]);
|
||||
}
|
||||
@ -366,28 +366,28 @@ void main()
|
||||
while(j<5){
|
||||
c[t++]=b[j++];
|
||||
}
|
||||
printf("结果为:\n");
|
||||
printf("结果为:\n");
|
||||
for(i=0;i<t;i++){
|
||||
printf("%d ",c[i]);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### C语言-10
|
||||
### C语言-10
|
||||
|
||||
```c
|
||||
/*----------------------------------------------------------------------
|
||||
【程序设计】
|
||||
【程序设计】
|
||||
------------------------------------------------------------------------
|
||||
随机输入一字符串(不包含空格,长度不超过100),删除字符串中的数字字符后输出。
|
||||
例输入:I will be 17 years old soon, and I will graduate from high school in June 2025
|
||||
输出:
|
||||
去掉数字后的字符串为:I will be years old soon, and I will graduate from high school in June
|
||||
随机输入一字符串(不包含空格,长度不超过100),删除字符串中的数字字符后输出。
|
||||
例输入:I will be 17 years old soon, and I will graduate from high school in June 2025
|
||||
输出:
|
||||
去掉数字后的字符串为:I will be years old soon, and I will graduate from high school in June
|
||||
------------------------------------------------------------------------
|
||||
注意:部分源程序给出如下。请勿改动主函数main或其它函数中给出的内容,仅在
|
||||
Program-End之间填入若干语句。
|
||||
不要删除标志否则不得分。
|
||||
不要修改或删除Program-End之外的内容否则不得分。
|
||||
注意:部分源程序给出如下。请勿改动主函数main或其它函数中给出的内容,仅在
|
||||
Program-End之间填入若干语句。
|
||||
不要删除标志否则不得分。
|
||||
不要修改或删除Program-End之外的内容否则不得分。
|
||||
----------------------------------------------------------------------*/
|
||||
#include<stdio.h>
|
||||
#include <string.h>
|
||||
@ -406,7 +406,7 @@ void main()
|
||||
}
|
||||
/********** End **********/
|
||||
b[j]='\0';
|
||||
printf("去掉数字后的字符串为:");
|
||||
printf("去掉数字后的字符串为:");
|
||||
puts(b);
|
||||
}
|
||||
```
|
||||
|
588
2208/天天乐学答案/C语言-1.md
Normal file
588
2208/天天乐学答案/C语言-1.md
Normal file
@ -0,0 +1,588 @@
|
||||
### C语言-1
|
||||
```c
|
||||
/*
|
||||
-------------------------------------------------------
|
||||
【程序填空】
|
||||
---------------------------------------------------------
|
||||
打印以下图案:
|
||||
*****
|
||||
*****
|
||||
*****
|
||||
*****
|
||||
*****
|
||||
*/
|
||||
#include<stdio.h>
|
||||
void main()
|
||||
{
|
||||
int i =0 , j =0 , k=0;
|
||||
|
||||
/**********Program**********/
|
||||
for(i=0;i<5;i++){
|
||||
for(j=0;j<i;j++){
|
||||
printf(" ");
|
||||
}
|
||||
for(k=0;k<5;k++){
|
||||
printf("*");
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
/********** End **********/
|
||||
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
### C语言-2
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
功能:编写程序,求两个非零整数之和。
|
||||
-------------------------------------------------------*/
|
||||
#include"stdio.h"
|
||||
main()
|
||||
{
|
||||
int x,y,z=0;
|
||||
scanf ("%d%d", &x,&y);
|
||||
/**********Program**********/
|
||||
if(x!=0 && y!=0){
|
||||
z = x+y;
|
||||
|
||||
|
||||
|
||||
/********** End **********/
|
||||
printf("z=%d\n", z);
|
||||
}
|
||||
else
|
||||
printf("两个数中至少有一个数为零值\n");
|
||||
}
|
||||
```
|
||||
|
||||
### C语言-3
|
||||
```c
|
||||
/*------------------------------------------------------------------------
|
||||
【程序设计】请编写函数sum,其功能是:用While循环语句求1到n之间(包括n)能
|
||||
被3整除的所有整数之和,并将结果返回给主函数。(n值由主函数传入)
|
||||
运行程序后若输入:10,则输出为:18
|
||||
----------------------------------------------------------------------*/
|
||||
#include "stdio.h"
|
||||
|
||||
long sum(int n)
|
||||
{
|
||||
/**********Program**********/
|
||||
int i, s=0;
|
||||
for(i=1;i<=n;i++){
|
||||
if(i%3==0){
|
||||
s+=i;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return s;
|
||||
/********** End **********/
|
||||
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
int x;
|
||||
long f;
|
||||
scanf("%d",&x);
|
||||
f=sum(x);
|
||||
printf("%ld\n",f);
|
||||
|
||||
}
|
||||
```
|
||||
|
||||
### C语言-4
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
功能:设计程序打印出如下图案(菱形)
|
||||
|
||||
*
|
||||
***
|
||||
*****
|
||||
*******
|
||||
*****
|
||||
***
|
||||
*
|
||||
-------------------------------------------------------*/
|
||||
#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语言-5
|
||||
```c
|
||||
/*------------------------------------------------------
|
||||
题目:从键盘输入一个整数n,求2 至 n-1内所有能被n整除的数。
|
||||
例如:输入10 输出 2 5
|
||||
输入99 输出 3 9 11 33
|
||||
--------------------------------------------------------*/
|
||||
#include "stdio.h"
|
||||
int main ( )
|
||||
{
|
||||
int n,i;
|
||||
printf("input a number:");
|
||||
scanf ("%d", &n);
|
||||
/**********Program**********/
|
||||
for(i=2;i<n;i++)
|
||||
if(n%i==0)
|
||||
|
||||
|
||||
/********** End **********/
|
||||
printf ("%d\n",i);
|
||||
}
|
||||
```
|
||||
|
||||
### C语言-6
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
【程序填空】 2、有一箱苹果(100—200之间),如果分成4个苹果一组的若干组,则多2个苹果;若分成7个苹果一组,则多3个苹果; 若分成9个苹果一组,则多5个苹果,编程实现求苹果的个数。
|
||||
--------------------------------------------------------*/
|
||||
|
||||
# include <stdio.h>
|
||||
main ()
|
||||
{
|
||||
int i;
|
||||
for(i=100;i<200;i++)
|
||||
/**********Program**********/
|
||||
if(i%4==2 && i%7==3 && i%9==5)
|
||||
|
||||
|
||||
|
||||
|
||||
/********** End **********/
|
||||
printf ("%d",i);
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
### C语言-7
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
【程序填空】---------------------------------------------------------
|
||||
功能:计算武汉城区出租车收费的程序,当里程在3公里以内含3公里时收费12元,超过3公里(在0和1之间均计1公里)的部分每公里收费2元。
|
||||
备注:使用switch来实现
|
||||
--------------------------------------------------------*/
|
||||
#include<stdio.h>
|
||||
main(){
|
||||
int m,n;
|
||||
scanf("%d",&m);
|
||||
|
||||
/**********Program**********/
|
||||
n=0;
|
||||
switch(m){
|
||||
default: n+=(m-3)*2;
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:n+=12;
|
||||
}
|
||||
|
||||
/********** End **********/
|
||||
|
||||
printf("本次收费为:%d",n);
|
||||
}
|
||||
```
|
||||
|
||||
### C语言-8
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
功能:从键盘输入2个整数相加,再输入答案,如果正确,显示"right",否则显示"error"。
|
||||
--------------------------------------------------------*/
|
||||
#include "stdio.h"
|
||||
main( )
|
||||
{
|
||||
int a,b,c;
|
||||
printf("please input a and b:\n");
|
||||
scanf("%d,%d",&a , &b);
|
||||
printf("please input the answer:\n");
|
||||
scanf("%d",&c);
|
||||
/**********Program**********/
|
||||
if(a+b==c)
|
||||
|
||||
|
||||
|
||||
|
||||
/********** End **********/
|
||||
printf("right\n");
|
||||
else
|
||||
printf("error\n");
|
||||
}
|
||||
```
|
||||
|
||||
### C语言-9
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
功能:功能:输入三角形的三边长,判断能否构成三角形,若能,利用海伦公式计
|
||||
算该三角形的面积,计算结果保留3位小数。
|
||||
l=(a+b+c)/2,s=sqrt(l*(l-a)*(l-b)*(l-c))
|
||||
--------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
#include <math.h>
|
||||
main()
|
||||
{
|
||||
float a,b,c,s,l;
|
||||
scanf("%f,%f,%f",&a , &b , &c);
|
||||
if(a+b<c||a+c<b||b+c<a)
|
||||
printf("该3个数据不能构成三角形\n");
|
||||
else
|
||||
{
|
||||
/**********Program**********/
|
||||
l=(a+b+c)/2;
|
||||
s=sqrt(l*(l-a)*(l-b)*(l-c));
|
||||
|
||||
/********** End **********/
|
||||
printf("该三角形的面积为%.3f\n",s);
|
||||
}
|
||||
|
||||
}
|
||||
```
|
||||
|
||||
### C语言-10
|
||||
```c
|
||||
/*------------------------------------------------------------------------
|
||||
【程序设计】功能:使用for循环输出Fibonacci数列的前15项,要求每行输出5项。
|
||||
Fibonacci数列:1,1,2,3,5,8,13...........
|
||||
----------------------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
int fib[15],i;
|
||||
fib[0]=1;fib[1]=1;
|
||||
/**********Program**********/
|
||||
for(i=2;i<15;i++){
|
||||
fib[i]=fib[i-1]+fib[i-2];
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/********** End **********/
|
||||
|
||||
for(i=0;i<15;i++)
|
||||
{
|
||||
printf("%d\t",fib[i] );
|
||||
if ( i%5==4 ) printf("\n");
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### C语言-11
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
1. 判断101-200之间有多少个素数,并输出所有素数。判断素数的方法IsPrime:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。 --------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
#include<math.h>
|
||||
int IsPrime (int n)
|
||||
{
|
||||
int i=2;
|
||||
for(i=2;i<=sqrt(n);i++)
|
||||
/**********Program**********/
|
||||
if(n%i==0){
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/********** End **********/
|
||||
return 1;
|
||||
}
|
||||
|
||||
int main( )
|
||||
{
|
||||
int i ;
|
||||
for(i=100;i<=200;i++ )
|
||||
{
|
||||
if ( IsPrime( i) )
|
||||
{
|
||||
printf("% d",i);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
### C语言-12
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
|
||||
功能:输出100到1000之间的各位数字之和能被15整除的所有数,输出时每10个一行。
|
||||
输出:(每个数占5个字符)
|
||||
159 168 177 186 195 249 258 267 276 285
|
||||
294 339 348 357 366 375 384 393 429 438
|
||||
447 456 465 474 483 492 519 528 537 546
|
||||
555 564 573 582 591 609 618 627 636 645
|
||||
654 663 672 681 690 708 717 726 735 744
|
||||
753 762 771 780 807 816 825 834 843 852
|
||||
861 870 906 915 924 933 942 951 960
|
||||
-------------------------------------------------------*/
|
||||
#include<stdio.h>
|
||||
main()
|
||||
{
|
||||
int m,n,k,i=0;
|
||||
for(m=100;m<=1000;m++)
|
||||
{
|
||||
k=0;
|
||||
n=m;
|
||||
/**********Program**********/
|
||||
while(n){
|
||||
k+=n%10;
|
||||
n/=10;
|
||||
}
|
||||
if(k%15==0){
|
||||
i++;
|
||||
printf("%5d", m);
|
||||
|
||||
if(i%10==0){
|
||||
printf("\n");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/********** End **********/
|
||||
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### C语言-13
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
题目: 打印以下图案:
|
||||
|
||||
*********
|
||||
*******
|
||||
*****
|
||||
***
|
||||
*
|
||||
--------------------------------------------------------*/
|
||||
#include<stdio.h>
|
||||
void main()
|
||||
{
|
||||
int i,j,k;
|
||||
for( i=0 ; i<5; i++ )
|
||||
{
|
||||
printf("\n");
|
||||
/**********Program**********/
|
||||
for(j=0;j<i*2;j++){
|
||||
printf(" ");
|
||||
}
|
||||
for(k=0;k<9-j;k++){
|
||||
printf("*");
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/********** End **********/
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
```
|
||||
|
||||
### C语言-14
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
1. 编写程序,打印以下图案:
|
||||
*****
|
||||
***
|
||||
*
|
||||
--------------------------------------------------------*/
|
||||
#include<stdio.h>
|
||||
void main()
|
||||
{
|
||||
int i,j,k;
|
||||
/**********Program**********/
|
||||
for(i=0;i<3;i++){
|
||||
for(j=0;j<i;j++){
|
||||
printf(" ");
|
||||
}
|
||||
for(k=0;k<5-j*2;k++){
|
||||
printf("*");
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/********** End **********/
|
||||
|
||||
printf("\n");
|
||||
}
|
||||
```
|
||||
|
||||
### C语言-15
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
功能:不用第三个变量,实现两个数的对调操作。
|
||||
--------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
int a,b;
|
||||
scanf("%d%d",&a , &b );
|
||||
printf("a=%d,b=%d\n",a,b);
|
||||
/**********Program**********/
|
||||
a = a+b;
|
||||
b = a-b;
|
||||
a = a-b;
|
||||
|
||||
|
||||
|
||||
|
||||
/********** End **********/
|
||||
printf("a=%d,b=%d\n", a,b);
|
||||
}
|
||||
```
|
||||
|
||||
### C语言-16
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
题目:请将123-321之间偶数累加输出最终结果。
|
||||
--------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
int main()
|
||||
{
|
||||
int i;
|
||||
long sum = 0;
|
||||
for(i = 123; i <= 321; i++ )
|
||||
{
|
||||
/**********Program**********/
|
||||
if(i%2==0){
|
||||
sum += i;
|
||||
}
|
||||
/********** End **********/
|
||||
}
|
||||
printf ("总和为 : %ld.\n",sum);
|
||||
return 0;
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
### C语言-17
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
题目:把123~321之间的可以被7整除的数输出。(使用for循环)
|
||||
--------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
void main()
|
||||
{
|
||||
int a=0;
|
||||
/**********Program**********/
|
||||
for(a=123;a<=321;a++){
|
||||
if(a%7==0){
|
||||
|
||||
|
||||
|
||||
|
||||
/********** End **********/
|
||||
printf("%d\n",a);
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### C语言-18
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
功能:依次输入十个整数,找出其平方最大的一个数并打印出来。
|
||||
--------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
void main()
|
||||
{
|
||||
int i;
|
||||
float x,y,z=0;
|
||||
printf("\n请输入10个数:");
|
||||
for(i=1;i<=10;i++)
|
||||
{
|
||||
/**********Program**********/
|
||||
scanf("%f", &x);
|
||||
if(x*x > z){
|
||||
z = x*x;
|
||||
y = x;
|
||||
}
|
||||
/********** End **********/
|
||||
}
|
||||
printf("平方最大的一个数是:%f\n",y);
|
||||
}
|
||||
```
|
||||
|
||||
### C语言-19
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
功能:从键盘输入一位整数i,计算其各位数字之和。比如输入整数
|
||||
31421,则打印结果为11。(使用while循环)
|
||||
--------------------------------------------------------*/
|
||||
#include<stdio.h>
|
||||
main()
|
||||
{
|
||||
int i,sum=0,a;
|
||||
scanf("%d",&i);
|
||||
/**********Program**********/
|
||||
while(i){
|
||||
sum += i%10;
|
||||
i/=10;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/********** End **********/
|
||||
printf("%d\n",sum);
|
||||
}
|
||||
```
|
||||
|
||||
### C语言-20
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
功能:编写程序(使用Switch ),给出年月日,计算出该日是该年的第几天。判断是否为
|
||||
闰年的条件是:能被 4 整除但是不能被100整除或者能被四百整除。
|
||||
--------------------------------------------------------*/
|
||||
#include"stdio.h"
|
||||
main()
|
||||
{
|
||||
int year,month,day,days=0,i,d;
|
||||
printf("请输入年-月-日:");
|
||||
scanf("%d-%d-%d",&year,&month,&day);
|
||||
for(i=1;i<month;i++)
|
||||
{
|
||||
/**********Program**********/
|
||||
switch(i){
|
||||
case 1:
|
||||
case 3:
|
||||
case 5:
|
||||
case 7:
|
||||
case 8:
|
||||
case 10: days+=31;break;
|
||||
case 2: days+=(28 + (year%4==0&&year%100!=0 || year%400==0?1:0));break;
|
||||
default: days+=30;
|
||||
}
|
||||
/********** End **********/
|
||||
}
|
||||
printf("%d-%d-%d是该年第%d天\n",year,month,day,days + day);
|
||||
}
|
||||
```
|
||||
|
549
2208/天天乐学答案/C语言-2.md
Normal file
549
2208/天天乐学答案/C语言-2.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);
|
||||
}
|
||||
|
||||
```
|
||||
|
657
2208/天天乐学答案/C语言-3.md
Normal file
657
2208/天天乐学答案/C语言-3.md
Normal file
@ -0,0 +1,657 @@
|
||||
### C语言-1
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
任意输入一个日期,计算这一天是这一年中的第几天(考虑闰年和平年)。
|
||||
-------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
int y,m,d,s,f;
|
||||
s=0;
|
||||
printf("请输入一个日期(YYYY-MM-DD):");
|
||||
scanf("%d-%d-%d",&y,&m,&d);
|
||||
if(y%4==0&&y%100!=0||y%400==0)
|
||||
f=1;
|
||||
else
|
||||
f=0;
|
||||
switch(m-1)
|
||||
{
|
||||
/**********Program**********/
|
||||
case 11: s+=30;
|
||||
case 10: s+=31;
|
||||
case 9: s+=30;
|
||||
case 8: s+=31;
|
||||
case 7: s+=31;
|
||||
case 6: s+=30;
|
||||
case 5: s+=31;
|
||||
case 4: s+=30;
|
||||
case 3: s+=31;
|
||||
case 2: s+=f+28;
|
||||
case 1: s+=31;
|
||||
/********** End **********/
|
||||
}
|
||||
s=s+d ;
|
||||
printf("%d-%d-%d是这一年中的第%d天\n",y,m,d,s);
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
### C语言-2
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
编程求s=a+aa+aaa+aaaa+aa…a的值。其中a为一个数字,例:3+33+333+3333+33333,要求a以及所加数字个数n由键盘输入,示例中a=3,n=5。(注:使用for)
|
||||
-------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
int a,n,s,i,t;
|
||||
s=t=0;
|
||||
printf("请输入数字a:");
|
||||
scanf("%d",&a);
|
||||
printf("请输入求和的项数n:");
|
||||
scanf("%d",&n);
|
||||
/**********Program**********/
|
||||
t = a;
|
||||
for(i=0;i<n;i++){
|
||||
s += t;
|
||||
t*=10;
|
||||
t+=a;
|
||||
}
|
||||
/********** End **********/
|
||||
printf("s=%d\n",s);
|
||||
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
### C语言-3
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
从键盘输入一个十进制整数,将其转换为二进制后反序再转成新的十进制后输出。(例:11→1011→1101→13)(注:使用while循环)
|
||||
-------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
int n,s,t;
|
||||
s=0;
|
||||
printf("请输入一个整数:");
|
||||
scanf("%d",&n);
|
||||
/**********Program**********/
|
||||
//1011 从最末尾开始 依次除出
|
||||
//加入s之前将前加入的数*1
|
||||
while(n){
|
||||
s += s + n%2;
|
||||
n /= 2;
|
||||
}
|
||||
/********** End **********/
|
||||
printf("%d\n",s);
|
||||
|
||||
}
|
||||
```
|
||||
|
||||
### C语言-4
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
编程判断m是否素数,m由键盘输入。(使用for)
|
||||
-------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
#include <math.h>
|
||||
main()
|
||||
{
|
||||
int m,i,k;
|
||||
printf("请输入一个正整数 :");
|
||||
scanf("%d",&m);
|
||||
k=sqrt(m);
|
||||
/**********Program**********/
|
||||
for(i=2;i<=k;i++){
|
||||
if(m % i == 0){
|
||||
break;
|
||||
}
|
||||
}
|
||||
/********** End **********/
|
||||
if(i>k)
|
||||
printf("%d是素数\n",m);
|
||||
else
|
||||
printf("%d不是素数\n",m);
|
||||
}
|
||||
```
|
||||
|
||||
### C语言-5
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
编程判断m是否素数,m由键盘输入。(使用for循环)
|
||||
-------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
int m,i;
|
||||
printf("请输入一个正整数 :");
|
||||
scanf("%d",&m);
|
||||
/**********Program**********/
|
||||
for(i=2;i<m;i++){
|
||||
if(m%i==0){
|
||||
break;
|
||||
}
|
||||
}
|
||||
/********** End **********/
|
||||
if(i==m)
|
||||
printf("%d是素数\n",m);
|
||||
else
|
||||
printf("%d不是素数\n",m);
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
### C语言-6
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
使用for循环输出99乘法表,要求格式如图所示: (注:乘积占四个字符)
|
||||
1x1=1
|
||||
2x1=2 2x2=4
|
||||
3x1=3 3x2=6 3x3=9
|
||||
4x1=4 4x2=8 4x3=12 4x4=16
|
||||
5x1=5 5x2=10 5x3=15 5x4=20 5x5=25
|
||||
6x1=6 6x2=12 6x3=18 6x4=24 6x5=30 6x6=36
|
||||
7x1=7 7x2=14 7x3=21 7x4=28 7x5=35 7x6=42 7x7=49
|
||||
8x1=8 8x2=16 8x3=24 8x4=32 8x5=40 8x6=48 8x7=56 8x8=64
|
||||
9x1=9 9x2=18 9x3=27 9x4=36 9x5=45 9x6=54 9x7=63 9x8=72 9x9=81
|
||||
-------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
int i,j;
|
||||
/**********Program**********/
|
||||
for(i=1;i<10;i++){
|
||||
for(j=1;j<=i;j++){
|
||||
printf("%dx%d=%-4d", i, j, i*j);
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/********** End **********/
|
||||
|
||||
}
|
||||
```
|
||||
|
||||
### C语言-7
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
从键盘输入5个整数,输出其最大值、最小值、平均值。(注:使用for循环)
|
||||
-------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
int n,s,max,min,i;
|
||||
double avg;
|
||||
scanf("%d",&n);
|
||||
s=max=min=n;
|
||||
for(i=2;i<=5;i++)
|
||||
{
|
||||
scanf("%d",&n);
|
||||
/**********Program**********/
|
||||
if(n > max){
|
||||
max = n;
|
||||
}
|
||||
if(n < min){
|
||||
min = n;
|
||||
}
|
||||
s+=n;
|
||||
|
||||
|
||||
/********** End **********/
|
||||
}
|
||||
avg=s/5.0;
|
||||
printf("max=%d,min=%d,avg=%f\n",max,min,avg);
|
||||
|
||||
}
|
||||
```
|
||||
|
||||
### C语言-8
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
编写程序,输出从公元2000年至3000年所有闰年的年号,每输出10个年号换一行。
|
||||
-------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
int year,count;
|
||||
count=0;
|
||||
for(year=2000;year<=3000;year++)
|
||||
{
|
||||
if(year%4==0&&year%100!=0 || year%400==0) {
|
||||
printf("%-6d",year);
|
||||
/**********Program**********/
|
||||
count++;
|
||||
if(count%10==0){
|
||||
printf("\n");
|
||||
}
|
||||
}
|
||||
/********** End **********/
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
```
|
||||
|
||||
### C语言-9
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
输入一个年月日,要求输出这一天是该年的第几天。(例如:2000年3月2日是该年的第62天)
|
||||
-------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
int i, year,month,day,days;
|
||||
days=0;
|
||||
printf("请输入一年日期(格式为:yyyy-mm-dd):");
|
||||
scanf("%d-%d-%d",&year,&month,&day);
|
||||
for(i=1;i<month;i++)
|
||||
{
|
||||
switch(i)
|
||||
{
|
||||
/**********Program**********/
|
||||
case 1:
|
||||
case 3:
|
||||
case 5:
|
||||
case 7:
|
||||
case 8:
|
||||
case 10:days+=31;break;
|
||||
case 2: days+=28;days += (year%4==0&&year%100!=0||year%400==0)?1:0;break;
|
||||
default:
|
||||
days+=30;
|
||||
/********** End **********/ }
|
||||
}
|
||||
days=days+day;
|
||||
printf("%d-%d-%d是这一年中的第%d天\n",year,month,day,days);
|
||||
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
### C语言-10
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
求前100个素数,输出时每个数占5个字符宽度,10个一行,并输出其平均值。
|
||||
结果:
|
||||
2 3 5 7 11 13 17 19 23 29
|
||||
31 37 41 43 47 53 59 61 67 71
|
||||
73 79 83 89 97 101 103 107 109 113
|
||||
127 131 137 139 149 151 157 163 167 173
|
||||
179 181 191 193 197 199 211 223 227 229
|
||||
233 239 241 251 257 263 269 271 277 281
|
||||
283 293 307 311 313 317 331 337 347 349
|
||||
353 359 367 373 379 383 389 397 401 409
|
||||
419 421 431 433 439 443 449 457 461 463
|
||||
467 479 487 491 499 503 509 521 523 541
|
||||
|
||||
average=241.330000
|
||||
-------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
#include <math.h>
|
||||
main()
|
||||
{
|
||||
int i,j,k,m,sum;
|
||||
double avg;
|
||||
k=0;
|
||||
sum=0;
|
||||
for(i=2;k<100;i++)
|
||||
{
|
||||
m=sqrt(i);
|
||||
/**********Program**********/
|
||||
for(j=2;j<=m;j++){
|
||||
if(i%j==0){
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(j>m){
|
||||
printf("%5d", i);
|
||||
k++;
|
||||
sum+=i;
|
||||
if(k%10==0){
|
||||
printf("\n");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/********** End **********/
|
||||
}
|
||||
avg=sum/100.0;
|
||||
printf("\naverage=%f\n",avg);
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
### C语言-11
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
求100到200间的所有素数,输出时每个数占5个字符宽度,10个一行。要求在奇数中找素数。
|
||||
结果:
|
||||
101 103 107 109 113 127 131 137 139 149
|
||||
151 157 163 167 173 179 181 191 193 197
|
||||
199
|
||||
-------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
#include <math.h>
|
||||
main()
|
||||
{
|
||||
int i,j,k,m;
|
||||
k=0;
|
||||
for(i=101;i<200;i+=2 )
|
||||
{
|
||||
m=sqrt(i);
|
||||
/**********Program**********/
|
||||
for(j=2;j<=m;j++){
|
||||
if(i%j==0){
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(j > m){
|
||||
printf("%5d", i);
|
||||
k++;
|
||||
if(k%10==0){
|
||||
printf("\n");
|
||||
}
|
||||
}
|
||||
/********** End **********/
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### C语言-12
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
使用for循环输出99乘法表,要求格式如图所示: (注:乘积占四个字符)
|
||||
1x1=1 1x2=2 1x3=3 1x4=4 1x5=5 1x6=6 1x7=7 1x8=8 1x9=9
|
||||
2x1=2 2x2=4 2x3=6 2x4=8 2x5=10 2x6=12 2x7=14 2x8=16 2x9=18
|
||||
3x1=3 3x2=6 3x3=9 3x4=12 3x5=15 3x6=18 3x7=21 3x8=24 3x9=27
|
||||
4x1=4 4x2=8 4x3=12 4x4=16 4x5=20 4x6=24 4x7=28 4x8=32 4x9=36
|
||||
5x1=5 5x2=10 5x3=15 5x4=20 5x5=25 5x6=30 5x7=35 5x8=40 5x9=45
|
||||
6x1=6 6x2=12 6x3=18 6x4=24 6x5=30 6x6=36 6x7=42 6x8=48 6x9=54
|
||||
7x1=7 7x2=14 7x3=21 7x4=28 7x5=35 7x6=42 7x7=49 7x8=56 7x9=63
|
||||
8x1=8 8x2=16 8x3=24 8x4=32 8x5=40 8x6=48 8x7=56 8x8=64 8x9=72
|
||||
9x1=9 9x2=18 9x3=27 9x4=36 9x5=45 9x6=54 9x7=63 9x8=72 9x9=81
|
||||
-------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
int i,j;
|
||||
/**********Program**********/
|
||||
for(i=1;i<10;i++){
|
||||
for(j=1;j<10;j++){
|
||||
printf("%dx%d=%-4d", i, j, i*j);
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/********** End **********/
|
||||
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
### C语言-13
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
编写程序打印一个n行的菱形,n由键盘输入
|
||||
输入:5
|
||||
输出:
|
||||
*
|
||||
***
|
||||
*****
|
||||
***
|
||||
*
|
||||
-----------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
#include <math.h>
|
||||
main()
|
||||
{
|
||||
int i,j,k,n;
|
||||
printf("请输入一个奇数(行数)n:");
|
||||
scanf("%d",&n);
|
||||
for(i=-n/2; i<=n/2;i++)
|
||||
{
|
||||
/**********Program**********/
|
||||
for(j=0;j<abs(i);j++){
|
||||
printf(" ");
|
||||
}
|
||||
for(k=0;k<n-j*2;k++){
|
||||
printf("*");
|
||||
}
|
||||
printf("\n");
|
||||
/********** End **********/
|
||||
}
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
### C语言-14
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
编程输出500以内的“水仙花数”。“水仙花数”是一个三位数,其各位数字立方和等于该数本身(例:153=13+53+33)。(使用for循环)
|
||||
-------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
int a,b,c,i;
|
||||
/**********Program**********/
|
||||
for(i=100;i<500;i++){
|
||||
a = i%10;
|
||||
b = i%100/10;
|
||||
c = i/100;
|
||||
|
||||
if(a*a*a + b*b*b + c*c*c == i)
|
||||
/********** End **********/
|
||||
printf("%d\n",i);
|
||||
}
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
### C语言-15
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
斐波那契数列的前几项是:1、1、2、3、5、8、13、21……编程输出该数列,直到某项的值大于10000为止,每行输出4个。
|
||||
结果:
|
||||
1 1 2 3
|
||||
5 8 13 21
|
||||
34 55 89 144
|
||||
233 377 610 987
|
||||
1597 2584 4181 6765
|
||||
-------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
int a,b,c,i;
|
||||
a=b=1;
|
||||
printf("%d\t%d\t",a,b);
|
||||
for(i=3;;i++)
|
||||
{
|
||||
c=a+b;
|
||||
if(c>10000)
|
||||
break;
|
||||
printf("%d\t",c);
|
||||
/**********Program**********/
|
||||
if(i%4==0){
|
||||
printf("\n");
|
||||
}
|
||||
a = b;
|
||||
b = c;
|
||||
}
|
||||
/********** End **********/
|
||||
}
|
||||
```
|
||||
|
||||
### C语言-16
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
斐波那契数列的前几项是:1、1、2、3、5、8、13、21……编程输出该数列的前20项,每行输出4个。
|
||||
结果:
|
||||
1 1 2 3
|
||||
5 8 13 21
|
||||
34 55 89 144
|
||||
233 377 610 987
|
||||
1597 2584 4181 6765
|
||||
-------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
int a,b,c,i;
|
||||
a=b=1;
|
||||
printf("%d\t%d\t",a,b);
|
||||
for(i=3;i<=20;i++)
|
||||
{
|
||||
c=a+b;
|
||||
printf("%d\t",c);
|
||||
/**********Program**********/
|
||||
if(i%4==0){
|
||||
printf("\n");
|
||||
}
|
||||
a = b;
|
||||
b = c;
|
||||
/********** End **********/
|
||||
}
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
### C语言-17
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
使用for循环输出99乘法表,要求格式如图所示:(注:格式 %dx%d=%-4d)
|
||||
1x1=1 1x2=2 1x3=3 1x4=4 1x5=5 1x6=6 1x7=7 1x8=8 1x9=9
|
||||
2x1=2 2x2=4 2x3=6 2x4=8 2x5=10 2x6=12 2x7=14 2x8=16
|
||||
3x1=3 3x2=6 3x3=9 3x4=12 3x5=15 3x6=18 3x7=21
|
||||
4x1=4 4x2=8 4x3=12 4x4=16 4x5=20 4x6=24
|
||||
5x1=5 5x2=10 5x3=15 5x4=20 5x5=25
|
||||
6x1=6 6x2=12 6x3=18 6x4=24
|
||||
7x1=7 7x2=14 7x3=21
|
||||
8x1=8 8x2=16
|
||||
9x1=9
|
||||
-------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
int i,j;
|
||||
/**********Program**********/
|
||||
for(i = 1;i<10;i++){
|
||||
for(j=1;j<=10-i;j++){
|
||||
printf("%dx%d=%-4d", i, j, i*j);
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
|
||||
/********** End **********/
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
### C语言-18
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
使用for循环输出99乘法表,要求格式如图所示:
|
||||
1x9=9
|
||||
2x8=16 2x9=18
|
||||
3x7=21 3x8=24 3x9=27
|
||||
4x6=24 4x7=28 4x8=32 4x9=36
|
||||
5x5=25 5x6=30 5x7=35 5x8=40 5x9=45
|
||||
6x4=24 6x5=30 6x6=36 6x7=42 6x8=48 6x9=54
|
||||
7x3=21 7x4=28 7x5=35 7x6=42 7x7=49 7x8=56 7x9=63
|
||||
8x2=16 8x3=24 8x4=32 8x5=40 8x6=48 8x7=56 8x8=64 8x9=72
|
||||
9x1=9 9x2=18 9x3=27 9x4=36 9x5=45 9x6=54 9x7=63 9x8=72 9x9=81
|
||||
-------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
int i,j;
|
||||
for(i=1;i<=9;i++)
|
||||
{
|
||||
for(j=1;j<10-i;j++)
|
||||
{
|
||||
printf("\t");
|
||||
}
|
||||
/**********Program**********/
|
||||
for(j=10-i;j<10;j++){
|
||||
printf("%dx%d=%-4d", i, j, i*j);
|
||||
}
|
||||
|
||||
|
||||
printf("\n");
|
||||
}
|
||||
/********** End **********/
|
||||
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
### C语言-19
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
使用for循环输出99乘法表,要求格式如图所示:
|
||||
1x1=1 1x2=2 1x3=3 1x4=4 1x5=5 1x6=6 1x7=7 1x8=8 1x9=9
|
||||
2x2=4 2x3=6 2x4=8 2x5=10 2x6=12 2x7=14 2x8=16 2x9=18
|
||||
3x3=9 3x4=12 3x5=15 3x6=18 3x7=21 3x8=24 3x9=27
|
||||
4x4=16 4x5=20 4x6=24 4x7=28 4x8=32 4x9=36
|
||||
5x5=25 5x6=30 5x7=35 5x8=40 5x9=45
|
||||
6x6=36 6x7=42 6x8=48 6x9=54
|
||||
7x7=49 7x8=56 7x9=63
|
||||
8x8=64 8x9=72
|
||||
9x9=81
|
||||
-------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
int i,j;
|
||||
for(i=1;i<=9;i++)
|
||||
{
|
||||
for(j=1;j<i;j++)
|
||||
{
|
||||
printf("\t");
|
||||
}
|
||||
/**********Program**********/
|
||||
for(j=i;j<10;j++){
|
||||
printf("%dx%d=%-4d", i, j, i*j);
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
/********** End **********/
|
||||
|
||||
}
|
||||
```
|
||||
|
||||
### C语言-20
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
请编写输出以下图案的程序。(注意:需要使用math库abs)
|
||||
1
|
||||
123
|
||||
12345
|
||||
1234567
|
||||
12345
|
||||
123
|
||||
1
|
||||
-------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
#include <math.h>
|
||||
main()
|
||||
{
|
||||
int i,j;
|
||||
for(i=-3;i<=3;i++)
|
||||
{
|
||||
/**********Program**********/
|
||||
for(j=0;j<7-abs(i)*2;j++){
|
||||
printf("%d", j+1);
|
||||
}
|
||||
printf("\n");
|
||||
/********** End **********/
|
||||
}
|
||||
|
||||
}
|
||||
```
|
||||
|
579
2208/天天乐学答案/C语言-4.md
Normal file
579
2208/天天乐学答案/C语言-4.md
Normal file
@ -0,0 +1,579 @@
|
||||
### C语言-1
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
输入三角形三边长,判断能否构成三角形,如能构成则输出其面积,不能则给出错误提示。
|
||||
(海伦公式):
|
||||
一个三角形,边长分别为a、b、c,面积S可由一下公式求得
|
||||
S=√p(p-a)(p-b)(p-c)
|
||||
公式里p为半周长(周长的一半):P=(a+b+c)/2
|
||||
-------------------------------------------------------*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <math.h>
|
||||
/**********Program**********/
|
||||
double S(int a, int b, int c){
|
||||
return (a+b+c)/2;
|
||||
}
|
||||
|
||||
double AREA(double t, int a, int b, int c){
|
||||
return sqrt(t*(t-a)*(t-b)*(t-c));
|
||||
}
|
||||
|
||||
/********** End **********/
|
||||
main()
|
||||
{
|
||||
int a,b,c;
|
||||
double t,area;
|
||||
printf("请输入三个正整数,表示三角形的三个边长:");
|
||||
scanf("%d%d%d",&a,&b,&c);
|
||||
if(a+b>c&&a+c>b&&b+c>a)
|
||||
{
|
||||
t=S(a,b,c);
|
||||
area=AREA(t,a,b,c);
|
||||
printf("三角形的面积是:%f\n",area);
|
||||
}
|
||||
else
|
||||
printf("不能构成三角形\n");
|
||||
}
|
||||
```
|
||||
|
||||
### C语言-2
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
将一张100元钞票换成等值的10元,5元,2元和1元的小钞,每次换成40张小钞,要求每一种小钞都要有,编程求出所有可能的换法总数输出并输出各换法的组合。(注:使用for循环)
|
||||
结果:
|
||||
10元钞票有1张,5元钞票有5张,2元钞票有31张,1元钞票有3张
|
||||
10元钞票有1张,5元钞票有6张,2元钞票有27张,1元钞票有6张
|
||||
10元钞票有1张,5元钞票有7张,2元钞票有23张,1元钞票有9张
|
||||
。
|
||||
。
|
||||
。
|
||||
|
||||
总共有34种换法
|
||||
-------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
int a,b,c,d,s;
|
||||
s=0;
|
||||
/**********Program**********/
|
||||
for(a=1;a<10;a++){
|
||||
for(b=1;b<20;b++){
|
||||
for(c=1;c<50;c++){
|
||||
for(d=1;d<100;d++){
|
||||
if(a*10+b*5+c*2+d == 100 && a+b+c+d==40){
|
||||
s++;
|
||||
/********** End **********/
|
||||
printf("10元钞票有%d张,5元钞票有%d张,2元钞票有%d张,1元钞票有%d张\n",a,b,c,d);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
printf("\n总共有%d种换法\n",s);
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
### C语言-3
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
编程将一个正整数分解成质因数(注:使用while循环)
|
||||
例如:
|
||||
输入 90
|
||||
输出 90=2*3*3*5
|
||||
-------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
int n,i;
|
||||
printf("请输入一个正整数:");
|
||||
scanf("%d",&n);
|
||||
printf("%d=",n);
|
||||
i=2;
|
||||
/**********Program**********/
|
||||
while(n > i){
|
||||
if(n%i==0){
|
||||
printf("%d*", i);
|
||||
n/=i;
|
||||
}else{
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
/********** End **********/
|
||||
printf("%d\n",n);
|
||||
}
|
||||
```
|
||||
|
||||
### C语言-4
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
韩信点兵,韩信带1500名士兵打仗,战死四五百人,站3人一排,多出2人;站5人一排,多出4人;站7人一排,多出6人。编程计算还有多少士兵? (注:使用for循环)
|
||||
-------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
int i;
|
||||
/**********Program**********/
|
||||
for(i=1000;i<1100;i++){
|
||||
if(i%3==2 && i%5==4 && i%7==6)
|
||||
|
||||
/********** End **********/
|
||||
printf("还有%d名士兵\n",i);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### C语言-5
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
百马百担,有一百匹马,驮一百担货,大马驮3担,中马驮2担,两只小马驮1担,每匹马都要驮货,编程计算大马(dm)、中马(zm)、小马(xm)各有多少匹。 (注:使用for循环)
|
||||
结果:
|
||||
大马有2匹,中马有30匹,小马有68匹
|
||||
大马有5匹,中马有25匹,小马有70匹
|
||||
大马有8匹,中马有20匹,小马有72匹
|
||||
大马有11匹,中马有15匹,小马有74匹
|
||||
大马有14匹,中马有10匹,小马有76匹
|
||||
大马有17匹,中马有5匹,小马有78匹
|
||||
-------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
void main() {
|
||||
int dm,zm,xm;
|
||||
/**********Program**********/
|
||||
for(dm=1;dm<66;dm++){
|
||||
for(zm=1;zm<100;zm++){
|
||||
for(xm=2;xm<200;xm+=2){
|
||||
if(dm*3+zm*2+xm/2 == 100 && dm+zm+xm==100)
|
||||
|
||||
/********** End **********/
|
||||
printf("大马有%d匹,中马有%d匹,小马有%d匹\n",dm,zm,xm);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### C语言-6
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
鸡兔同笼,《孙子算经》中记载:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”,编程计算鸡和兔子各有多少只。(注:使用for循环)
|
||||
结果:
|
||||
鸡有23只,兔有12只
|
||||
-------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
int j,t;
|
||||
/**********Program**********/
|
||||
for(j=1;j<35;j++){
|
||||
for(t=1;t<35;t++){
|
||||
if(j*2+t*4==94 && j+t == 35)
|
||||
|
||||
/********** End **********/
|
||||
printf("鸡有%d只,兔有%d只\n",j,t);
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### C语言-7
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
编程输出1000以内的完数,所谓完数是指一个数的所有因子(包含1但不包含其本身)之和等于这个数本身。(例:28=1+2+4+7+14)
|
||||
-------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
int i,j,s;
|
||||
for(i=2;i<=1000;i++)
|
||||
{
|
||||
s=0;
|
||||
/**********Program**********/
|
||||
for(j=1;j<i;j++){
|
||||
if(i%j==0){
|
||||
s+=j;
|
||||
}
|
||||
}
|
||||
|
||||
/********** End **********/
|
||||
if(s==i)
|
||||
printf("%d\n",i);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
### C语言-8
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
编程求所有能被3且能被5且能被7整除的三位数并输出(每个数字占5字符宽度,5个一行)。
|
||||
-------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
int i,k;
|
||||
k=0;
|
||||
for(i=100;i<=999;i++)
|
||||
{
|
||||
/**********Program**********/
|
||||
if(i%3 ==0 && i%5==0 && i%7==0){
|
||||
|
||||
|
||||
|
||||
|
||||
/********** End **********/
|
||||
printf("%5d",i);
|
||||
k++;
|
||||
if(k%5==0)
|
||||
printf("\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### C语言-9
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
输入一个整数,判断是否为回文数(所谓回文数就是左右对称的数)
|
||||
(注:使用while循环)
|
||||
-------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
int n,t,s;
|
||||
s=0;
|
||||
scanf("%d",&n);
|
||||
t=n;
|
||||
/**********Program**********/
|
||||
while(n){
|
||||
s*=10;
|
||||
s+=n%10;
|
||||
n/=10;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/********** End **********/
|
||||
if( t==s )
|
||||
printf("yes\n");
|
||||
else
|
||||
printf("no\n");
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
### C语言-10
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
百钱买百鸡,《算经》一书中记载
|
||||
“鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一,百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?”
|
||||
要求每一种鸡都要有,编程输出公鸡(gj)、母鸡(mj)、小鸡(xj)各有多少只。
|
||||
结果:(注:使用for循环)
|
||||
|
||||
公鸡有4只,母鸡有18只,小鸡有78只
|
||||
公鸡有8只,母鸡有11只,小鸡有81只
|
||||
公鸡有12只,母鸡有4只,小鸡有84只
|
||||
-------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
void main()
|
||||
{
|
||||
int gj,mj,xj;
|
||||
/**********Program**********/
|
||||
for(gj=1;gj<20;gj++){
|
||||
for(mj=1;mj<34;mj++){
|
||||
for(xj=3;xj<300;xj+=3){
|
||||
if(gj+mj+xj==100 && gj*5+mj*3+xj/3 == 100)
|
||||
|
||||
/********** End **********/
|
||||
printf("公鸡有%d只,母鸡有%d只,小鸡有%d只\n",gj,mj,xj);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### C语言-11
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
《孙子算经》中有这样一道算术题:“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?” (注:使用while循环)
|
||||
-------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
int i;
|
||||
i=1;
|
||||
/**********Program**********/
|
||||
while(1){
|
||||
|
||||
|
||||
|
||||
if(i%3==2&&i%5==3&&i%7==2)
|
||||
/********** End **********/
|
||||
{
|
||||
printf("%d\n",i);
|
||||
break;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### C语言-12
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
61.【程序功能】猴子吃桃,猴子第一天摘下若干个桃子, 吃了总数的一半,还不过瘾,又多吃了一个。第二天又将剩下的桃子吃掉一半,又多吃了一个。以后每天都这样吃。到第十天时, 发现只有一个桃子了。编程求第一天摘了多少个桃子。(注:使用for循环)
|
||||
-------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
void main() {
|
||||
int i,t;
|
||||
t=1;
|
||||
/**********Program**********/
|
||||
for(i=0;i<9;i++){
|
||||
t=(t+1)*2;
|
||||
}
|
||||
|
||||
/********** End **********/
|
||||
printf("第一天共摘了%d只桃\n",t);
|
||||
}
|
||||
```
|
||||
|
||||
### C语言-13
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
编写函数(sum),计算1+2+3+…+n的和,n由键盘输入。
|
||||
-------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
int sum(int n);
|
||||
main()
|
||||
{
|
||||
int n,s;
|
||||
printf("请输入一个整数n:");
|
||||
scanf("%d",&n);
|
||||
s=sum(n);
|
||||
printf("1+2+...+%d=%d\n",n,s);
|
||||
}
|
||||
/**********Program**********/
|
||||
int sum(int n){
|
||||
int s = 0, i;
|
||||
for(i=1;i<=n;i++){
|
||||
s += i;
|
||||
}
|
||||
return s;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/********** End **********/
|
||||
```
|
||||
|
||||
### C语言-14
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
编程用“碾转相除法”求两个整数的最大公约数,两个整数由键盘输入。(注:使用while循环)
|
||||
-------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
int m,n,t;
|
||||
printf("请输入两个整数:");
|
||||
scanf("%d%d",&m,&n);
|
||||
t=m%n;
|
||||
/**********Program**********/
|
||||
while(t){
|
||||
m = n;
|
||||
n = t;
|
||||
t = m%n;
|
||||
}
|
||||
/********** End **********/
|
||||
printf("最大公约数是:%d\n",n);
|
||||
}
|
||||
```
|
||||
|
||||
### C语言-15
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
一个正整数加上100后是完全平方数,加上268后还是一个完全平方数,编程求出这样的数并输出(在10000以内求)。
|
||||
结果:
|
||||
21
|
||||
261
|
||||
1581
|
||||
-------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
#include <math.h>
|
||||
main()
|
||||
{
|
||||
int i,j,k;
|
||||
for(i=1;i<=10000;i++)
|
||||
{
|
||||
/**********Program**********/
|
||||
if(pow((int)sqrt(i+100), 2) == i+100 && pow((int)sqrt(i+268), 2) == i+268){
|
||||
|
||||
|
||||
/********** End **********/
|
||||
printf("%d\n",i);
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### C语言-16
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
输入一个整数,输出该数所有因子(1和它本身除外)之和。例如6的因子有2和3,则输出5
|
||||
(注:使用for循环)
|
||||
-------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
int n,i,s;
|
||||
printf("请输入一个整数n:");
|
||||
scanf("%d",&n);
|
||||
s=0;
|
||||
/**********Program**********/
|
||||
for(i=2;i<n;i++){
|
||||
if(n%i==0){
|
||||
s+=i;
|
||||
}
|
||||
}
|
||||
|
||||
/********** End **********/
|
||||
printf("s=%d\n",s);
|
||||
|
||||
}
|
||||
|
||||
|
||||
```
|
||||
|
||||
### C语言-17
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
编程求100以内的所有奇数之和,以及偶数之和。(注:使用for循环)
|
||||
-------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
int i,odd,even;
|
||||
odd=even=0;
|
||||
/**********Program**********/
|
||||
for(i=1;i<=100;i++){
|
||||
if(i%2){
|
||||
odd+=i;
|
||||
}else{
|
||||
even+=i;
|
||||
}
|
||||
}
|
||||
|
||||
/********** End **********/
|
||||
printf("奇数之和为:%d,偶数之和为:%d\n",odd,even);
|
||||
}
|
||||
```
|
||||
|
||||
### C语言-18
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
输出100-1000以内所有的回文数,一行10个。(注:每个数占5个字符)
|
||||
101 111 121 131 141 151 161 171 181 191
|
||||
202 212 222 232 242 252 262 272 282 292
|
||||
303 313 323 333 343 353 363 373 383 393
|
||||
404 414 424 434 444 454 464 474 484 494
|
||||
505 515 525 535 545 555 565 575 585 595
|
||||
606 616 626 636 646 656 666 676 686 696
|
||||
707 717 727 737 747 757 767 777 787 797
|
||||
808 818 828 838 848 858 868 878 888 898
|
||||
909 919 929 939 949 959 969 979 989 999
|
||||
-------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
int i,s,t,k;
|
||||
k=0;
|
||||
/**********Program**********/
|
||||
for(i=100;i<1000;i++){
|
||||
s = 0;
|
||||
t = i;
|
||||
while(t){
|
||||
s*=10;
|
||||
s+=t%10;
|
||||
t/=10;
|
||||
}
|
||||
if(s == i){
|
||||
printf("%5d", i);
|
||||
k++;
|
||||
if(k%10==0){
|
||||
printf("\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/********** End **********/
|
||||
}
|
||||
```
|
||||
|
||||
### C语言-19
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
编程求用1,2,3,4四个数字可以组成多少个无重复数字的四位数,并输出这些四位数。(注:使用for循环)
|
||||
结果:
|
||||
1234
|
||||
1243
|
||||
1324
|
||||
。
|
||||
。
|
||||
。
|
||||
可以组成24个无重复数字的四位数
|
||||
-------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
int a,b,c,d,count;
|
||||
count=0;
|
||||
/**********Program**********/
|
||||
for(a=1;a<5;a++)
|
||||
for(b=1;b<5;b++)
|
||||
for(c=1;c<5;c++)
|
||||
for(d=1;d<5;d++)
|
||||
if(a!=b && a!=c && a!=d && b!=c && b!=d && c!=d){
|
||||
printf("%d%d%d%d\n", a, b, c, d);
|
||||
count++;
|
||||
}
|
||||
/********** End **********/
|
||||
printf("可以组成%d个无重复数字的四位数\n",count);
|
||||
}
|
||||
```
|
||||
|
||||
### C语言-20
|
||||
```c
|
||||
/*-------------------------------------------------------
|
||||
一小球从100米落下,每次弹跳原来一半高,求第10次落地时经过的距离及第10次弹跳的高度。
|
||||
(注:使用for循环)
|
||||
-------------------------------------------------------*/
|
||||
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
int i;
|
||||
double h,s;
|
||||
s=100;
|
||||
h=50;
|
||||
/**********Program**********/
|
||||
for(i=0;i<9;i++){
|
||||
s+=h*2;
|
||||
h/=2;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/********** End **********/
|
||||
printf("第10次落地时经过的距离为%f米,第10次弹跳的高度为%f米\n",s,h);
|
||||
}
|
||||
|
||||
```
|
||||
|
Loading…
x
Reference in New Issue
Block a user