/**
* File Name: practice.c
* Author: Haoxuan
* Mail: haovxuan@126.com
* Created Time: 2020年12月16日 星期三 10时48分01秒
**/
#include <stdio.h>
#include <math.h>
/**
*
* 1、 投资问题:D1以10%的单利息投资了100美元(也就是说,每年投资赢的利息等于原始投资的10%)。
* D2则以每年5%的复合利息投资了100美元(也就是说,利息是当前结余的5%,其中包括以前的利息)。
* 编写一个程序,计算需要多少年D2的投资额才会超过D1,并且显示出到那时两个人的投资额。
**/
void practice1(){
int year=0;
float d1=100,d2=100;
while(d1>=d2)
{
d1+=100*0.1;
d2+=d2*0.05;
year++;
}
printf("%d years D1:%.2f D2:%.2f\n",year,d1,d2);
}
/**
* 2、 读入数据,直到终端输入为0为止,计算输入的偶数(even)个数及平均值,以及奇数(odd)的个数及奇数的平均值
**/
void practice2()
{
int input,nums_even=0,nums_odd=0;
float sum_even=0,sum_odd=0;
while(1){
printf("Please enter a number:");
scanf("%d",&input);
if(input==0)
break;
if(input%2==0){
nums_even++;
sum_even+=input;
}else if (input%2==1)
{
nums_odd++;
sum_odd+=input;
}
}
printf("The number of Even is:%d and average is %f\n",nums_even,sum_even/nums_even);
printf("The number of Odd is:%d and average is%f\n",nums_odd,sum_odd/nums_odd);
}
/**
* 4、 写出Fibonacci数列的前40项
* 斐波那契数列(Fibonacci sequence),
* 又称黄金分割数列、因数学家莱昂纳多·斐波那契(Leonardoda Fibonacci)
* 以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……
*/
void practice4(){
int first=0,second=1,third=0,i=0;
printf("%d\t%d\t",first,second);
while(i<38)
{
third=first+second;
printf("%d\t",third);
first=second;
second=third;
i++;
}
}
/**
* 5、 嵌套循环的引入:九九乘法表的输出。
*/
void practice5()
{
for(int i=1;i<10;i++)
{
for(int j=1;j<i+1;j++)
{
printf("%d x %d = %d\t",j,i,i*j);
}
printf("\n");
}
}
/*
* 6、 百钱买百鸡问题:鸡翁一,值钱五,鸡母一,值钱三,三鸡雏,值钱一,百钱买百鸡,问鸡翁,鸡母,鸡雏各几何?
* item amount price
*
* gong x 5
* mu y 3
* chu 100-x-y 1/3
*
* 15x+9y+(100-x-y)=100 yuan
*/
void practice6(){
for(int gong=0;gong<=100/5;gong++)
{
for(int mu=0;mu<=100/3;mu++){
if(7*gong+4*mu==100&&100-gong-mu>=0)
printf("Cock=%d Hen=%d Chick=%d\n",gong,mu,100-gong-mu);
}
}
}
/**
* 9、 从终端实现如下的输出:
F
FE
FED
FEDC
FEDCB
FEDCBA
在此基础上进行加工,实现下列图案
F
_FE
__FED
___FEDC
____FEDCB
_____FEDCBA
*/
void practice9()
{
char ch='F';
for(int i=1;i<7;i++){
int k=ch;
for(int j=1;j<=i;j++){
printf("%c",k);
k--;
}
printf("\n");
}
printf("***********PLUS***************\n");
for(int m=0;m<6;m++){
int k=ch;
for(int t=0;t<m;t++)
printf("_");
for(int n=0;n<=m;n++){
printf("%c",k);
k--;
}
printf("\n");
}
}
/**
*14 求素数(prime)
* 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。
*/
void practice14(){
int num;
printf("Please enter a number:");
scanf("%d",&num);
int flag;
for(int i=2;i<=sqrt(num);i++)
{
if(num%i==0)
{
flag = 0;
break;
}
else
{
flag=1;
}
}
if(flag==1){
printf("%d is prime\n",num);
}else{
printf("%d is not prime\n",num);
}
}
/**
* 17从终端输入几个成绩,结束后,输出其中的最大值和最小值
*/
void practice17()
{
int min=999999,max=-999999;
while(1){
int num;
printf("Please enter a number and end with 9999:");
scanf("%d",&num);
if(num==9999)
break;
if(num<min){
min=num;
}else if(num>max){
max=num;
}
}
printf("Max:%d Min:%d\n",max,min);
}
int main()
{
printf("My Practice of C program langage.\n");
// practice1();
// practice2();
// practice4();
// practice5();
// practice6();
// practice9();
// practice14();
practice17();
return 0;
}
© 版权声明
转载请注明出处,并标明原文链接。
本网站尊重知识产权,如有侵权,请及时联系我们删除。
本站所有原创内容仅用于学习和交流目的,未经作者和本站授权不得进行商业使用或盈利行为。
本网站尊重知识产权,如有侵权,请及时联系我们删除。
本站所有原创内容仅用于学习和交流目的,未经作者和本站授权不得进行商业使用或盈利行为。
THE END
暂无评论内容