/*
* Author:Biechuyangwang(心理咨询木木)
* QQ群:218484263(18王道计算机群)
*/
由于题目比较简单直接给出了代码,就不用分析了。
目前暂时做了前两周的题,后面的内容有时间会补上。
第一周
1 hello world!(3分)
#include<stdio.h>
int main(){
printf("hello world!\n");
return 0;
}
2 在屏幕上输出多行信息
#include<stdio.h>
int main(){
printf("hello world!\n");
printf("hello hit!\n");
printf("hello everyone!\n");
return 0;
}
3 计算半圆弧长及半圆面积
题目描述:编程并输出半径r=5.3的半圆弧长(提示:半圆弧长不应该加直径的长度。)及该半圆弧与直经围成的半圆的面积,π的取值为3.14159。要求半径r和必须π利用宏常量表示。
输入格式:无
输出格式:
半圆的面积输出格式: “Area=%.5f\n”
半圆弧长输出格式: “circumference=%.5f\n”
输出样例:
Area=44.12363
circumference=16.65043
#include<stdio.h>
#define r 5.3
#define PI 3.14159
int main(){
printf( "Area=%.5f\n",PI*r*r/2);
printf("circumference=%.5f\n",PI*r);
return 0;
}
4 计算长方体体积
题目描述:编程并输出长1.2、宽4.3、高6.4的长方体的体积。要求长方体的长、宽、高必须利用const常量表示。程序中用到的数据类型均为为 double类型。
输入格式:无
输出格式:”volume=%.3f\n”
#include<stdio.h>
int main(){
const double a=1.2,b=4.3,c=6.4;
printf("volume=%.3f\n",a*b*c);
return 0;
}
第二周
1 输出逆序数
题目描述:从键盘任意输入一个3位整数,编程计算并输出它的逆序数(忽略整数前的正负号)。例如,输入-123,则忽略负号,由123分离出其百位1、十位2、个位3,然后计算3*100+2*10+1 = 321,并输出321。
提示:
1. 从键盘输入数据可以使用函数scanf()。例如,scanf(“%d”, &x); 表示从键盘输入整数并存入整形变量x中。
2. 利用取绝对值函数 fabs()忽略输入数据的负号。fabs(x)表示计算变量x的绝对值。
3.使用数学函数,需要在程序开头加上编译预处理指令 #include
#include<stdio.h>
#include<stdlib.h>
int main(){
int x;
printf("Input x:\n");
scanf("%d",&x);
x=abs(x);
x=x%10*100+x/10%10*10+x/100;
printf("y=%d\n",x);
return 0;
}
2 计算总分和平均数
题目描述:小明本学期共有5门课程,分别是英语、语文、数学、历史和音乐。5科的期中考试成绩分别是86分、74分、92分、77分、82分,期末考试成绩分别是81分、87分、90分、62分、88分。已知期中和期末考试成绩分别占总成绩的30%和70%。定义相应的变量存放各科成绩,并计算出小明5门课程的总分和平均分。要求平均分输出两种形式:带2位小数的浮点数形式和不带小数的整数形式。要求总分输出带2位小数的浮点数形式。程序中浮点数的数据类型均为float类型。
提示:
输出不带小数的平均分的整数形式可以使用强制类型转换。
示例:
total=408.90
average=81.78
average=81
输入格式:无
输出格式:
输出总分的格式:
“total=%.2f\n”
输出平均分的格式:
“average=%.2f\n”
“average=%d\n”
#include<stdio.h>
int main(){
int a[5]={86,74,92,77,82};
int b[5]={81,87,90,62,88};
float t1=0,t2=0,t=0;
for(int i=0;i<5;i++){
t1+=a[i];
t2+=b[i];
}
t=t1*0.3+t2*0.7;
printf("total=%.2f\n",t);
printf("average=%.2f\n",t/5.0);
printf("average=%d\n",(int)t/5);
return 0;
}
3 存款利率计算器V1.0
题目描述:设银行定期存款的年利率rate为2.25%,已知存款期为n年,存款本金为capital元,试编程计算并输出n年后的本利之和deposit。程序中所有浮点数的数据类型均为double类型。
提示:
1. 从键盘输入数据可以使用函数scanf()。本例中为scanf(“%lf,%d,%lf”, &rate, &n, &capital);
2. 本程序最终计算的是复利。
3. 计算幂的数学函数为pow(a,n), 代表a的n次幂。
4. 使用数学函数,需要在程序开头加上编译预处理指令 #include
#include<stdio.h>
#include<math.h>
int main(){
double rate,capital,deposit;
int year;
printf("Please enter rate, year, capital:\n");
scanf("%lf,%d,%lf",&rate,&year,&capital);
deposit=capital*pow(1+rate,1.0*year);
printf("deposit=%.3f\n",deposit);
return 0;
}
4 数位拆分v1.0
题目描述:现有一个4位数的正整数n=4321(即n是一个已知的数,固定为4321),编写程序将其拆分为两个2位数的正整数43和21,计算并输出拆分后的两个数的加、减、乘、除和求余的结果。例如n=4321,设拆分后的两个整数为a,b,则a=43,b=21。除法运算结果要求精确到小数点后2位,数据类型为float。
示例:
a=43,b=21
a+b=64
a-b=22
a*b=903
a/b=2.05
a%b=1
输入格式: 无
输出格式:
数位拆分的输出格式:”a=%d,b=%d\n”
加法运算的输出格式:”a+b=%d\n”
减法运算的输出格式:”a-b=%d\n”
乘法运算的输出格式:”a*b=%d\n”
除法运算的输出格式:”a/b=%.2f\n”
求余运算的输出格式:”a%%b=%d\n”
#include<stdio.h>
int main(){
int x=4321,a,b;
a=x/100;
b=x%100;
printf("a=%d,b=%d\n",a,b);
printf("a+b=%d\n",a+b);
printf("a-b=%d\n",a-b);
printf("a*b=%d\n",a*b);
printf("a/b=%.2f\n",a/(b*1.0));
printf("a%%b=%d\n",a%b);
return 0;
}
5 求正/负余数
题目描述:在C语言中,如果被除数为负值,则对一个正数求余的时候,求出的余数也是一个负数。在某些场合下,我们需要求出它的正余数,例如:在C语言中有(-11)%5=-1,但是有时我们希望得到的余数不是-1,而是4。请编写程序计算(-11)%5的负余数和正余数。
示例:
negative: -1
positive: 4
输入格式:无
输出格式:
负余数的输出格式:”negative: %d\n”
正余数的输出格式:”positive: %d\n”
#include<stdio.h>
int main(){
printf("negative: %d\n",-11%5);
printf("positive: %d\n",-11%5+5);
return 0;
}
6 身高预测
题目描述:已知小明(男孩)爸爸的身高是175厘米,妈妈的身高是162厘米。小红(女孩)爸爸的身高是169厘米,妈妈的身高是153厘米,按照下面公式,预测并输出小明和小红的遗传身高(不考虑后天因素)。
示例:
Height of xiao ming:181
Height of xiao hong:154
输入格式: 无
输出格式:
小明身高的输出格式:”Height of xiao ming:%d\n”
小红身高的输出格式:”Height of xiao hong:%d\n”
#include<stdio.h>
int main(){
int mf=175,mm=162,hf=169,hm=153;
printf("Height of xiao ming:%d\n",(int)((mf + mm)*0.54));
printf("Height of xiao hong:%d\n",(int)((hf*0.923 + hm)/2));
return 0;
}
7 求一元二次方程的根
题目描述:计算并输出一元二次方程
提示:
- 计算平方根的数学函数为sqrt()。
- 使用数学函数,需要在程序开头加上编译预处理指令
#include<math.h>
示例:
x1=-0.5000
x2=-1.0000
输入格式: 无
重点内容输出格式:
“x1=%.4f\n”
“x2=%.4f\n”
#include<stdio.h>
#include<math.h>
int main(){
int a=2,b=3,c=1;
double t1,t2;
t1=-b/2.0/a;
t2=sqrt(b*b-4*a*c)/2.0/a;
printf("x1=%.4f\n",t1+t2);
printf("x2=%.4f\n",t1-t2);
return 0;
}