鱼C论坛

 找回密码
 立即注册
查看: 5043|回复: 30

[技术交流] 100个C/C++的编程小例子(2014.1.24)(更新)

[复制链接]
发表于 2013-12-25 08:21:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 清风袋袋 于 2014-1-24 17:20 编辑

在网上找到的C/C++编程百例,想和大家分享一下,有兴趣的大家每天练练手,最后我会整理出来仪器放上去的~先给出第一题:
1、在屏幕上用“*”显示0~360度的余弦函数cos(x)曲线
#include<stdio.h>
#include<math.h>
int main()
{
        double y;
        int x,m;
        for(y=1;y>=-1;y-=0.1)              //y为纵坐标方向,值从1到-1,步长为0.01
        {
                m = acos(y)*10;            //计算出y对应的弧度m,乘以10为图形放大倍数
                for(x=1;x<m;x++) printf(" ");
                        printf("*");                 //控制打印左侧的*号
                for(;x<62-m;x++)printf(" ");
                        printf("*\n");              //控制打印同一行中对称的右侧*号
        } 

        return 0; 
}

精度当然不是很高,只是意思上的余弦曲线了。

给出每次的更新,这样方便点:
1、2013.12.25  http://bbs.fishc.com/thread-41991-1-1.html
2、2013.12.26  http://bbs.fishc.com/forum.php?m ... d=41991&pid=1567501
3、2013.12.27  http://bbs.fishc.com/forum.php?m ... d=41991&pid=1569061
4、2014.1.1      http://bbs.fishc.com/forum.php?m ... d=41991&pid=1581185
5、2014.1.7      http://bbs.fishc.com/forum.php?m ... d=41991&pid=1596417
6、2014.1.9      http://bbs.fishc.com/forum.php?m ... d=41991&pid=1600160
7、2014.1.12    http://bbs.fishc.com/forum.php?m ... d=41991&pid=1606759
8、2014.1.15    http://bbs.fishc.com/forum.php?m ... d=41991&pid=1612222
9、2014.1.17    http://bbs.fishc.com/forum.php?m ... d=41991&pid=1615373
10、2014.1.21  http://bbs.fishc.com/forum.php?m ... d=41991&pid=1622832
11、2014.1.24  http://bbs.fishc.com/forum.php?m ... d=41991&pid=1627918






想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-12-25 20:26:38 | 显示全部楼层
先占了沙发再说吧。。。感谢楼主分享。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-12-25 20:44:24 | 显示全部楼层
楼主我回复顶你的贴,你不会不开心吧!!{:7_183:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-12-25 20:56:24 | 显示全部楼层
楼主楼主  其他的在哪呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-12-26 22:26:27 | 显示全部楼层

12月26日

本帖最后由 清风袋袋 于 2014-1-9 13:55 编辑

现在给出第二题(那个啥,比较忙,所以尽量一天给一题吧)
2.绘制余弦曲线和直线
#include<stdio.h>
#include<math.h> 
int main()
{
        double y;
        int x,m,n,yy;
        for(yy=0;yy<=20;yy++)                  //对于第一个y坐标进行计算并在一行中打印图形
        {
                y=0.1*yy;                                  //y:屏幕行方向坐标
                m=acos(1-y)*10;                     //m: cos(x)曲线上y点对应的屏幕列坐标
                n=45*(y-1)+31;                        //n: 直线上y点对应的列坐标
                for(x=0;x<=62;x++)                   //x: 屏幕列方向坐标
                if(x==m&&x==n) printf("+");     //直线与cos(x)相交时打印“+”
                else if(x==n) printf("+");                        //打印不相交时的直线图形
                else if(x==m||x==62-m) printf("*"); //打印不相交时的cos(x)图形
                else printf(" ");                                        //其它情况打印空格
                printf("\n");
        }
        return 0; 
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-12-27 15:04:45 | 显示全部楼层

12月27日

3.绘制圆
在屏幕上用“*”画一个空心的圆
#include<stdio.h>
#include<math.h>
int main()
{
        double y;
        int x,m;
        for(y=10;y>=-10;y--)
        {
                m=2*sqrt(100-y*y);                                        //计算行y对应的列坐标m
                                                                                //2是屏幕调节系数
                for(x=1;x<30-m;x++) printf(" ");                        //图形左侧空白控制
                printf("*");                                                //圆的左侧
                for(;x<30+m;x++) printf(" ");                //图形的空心部分控制
                printf("*\n");                                        //圆的右侧
        }
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-12-27 15:06:41 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-12-27 15:09:53 | 显示全部楼层
清风袋袋 发表于 2013-12-27 15:06
不会。。。。多顶几下,会更好的,黑黑

开心就好
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-12-27 15:11:29 | 显示全部楼层
正在写代码 发表于 2013-12-27 15:09
开心就好

每天更新,咋没人呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-12-31 21:33:59 | 显示全部楼层
看看啊!!!!!!!!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-1-1 15:10:57 | 显示全部楼层

(2014.1.1)

抱歉啊,各位,前两天要跨年了,就忙了~给出第四题:
4.歌星大奖赛
在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。选手最后得分为:去掉一个最高分和 一个最低分后其余8个分数的平均值。请编写一个程序实现。
#include<stdio.h>
int main()
{
   int integer,i,max,min,sum;
   max=0;      //先假设当前的最大值max
   min=100;    //先假设当前的最小值min
   sum=0;      //将求累加和变量的初值置为
   for(i=1;i<=10;i++)
   {
      printf("Input number %d=",i);
      scanf("%d",&integer);    //输入评委的评分
      sum+=integer;            //计算总分
      if(integer>max)max=integer; //通过比较筛选出其中的最高分
      if(integer<min)min=integer; //通过比较筛选出其中的最低分
   }
   printf("Canceled maxscore:%d\nCanceled min score:%d\n",max,min);
   printf("Average score:%d\n",(sum-max-min)/8);//输出结果

}

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-1-7 18:19:47 | 显示全部楼层
算了吧,大家都不看,那就不更新了{:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-1-7 20:04:27 | 显示全部楼层
我看啊,怎么能不更新呢!,楼主不要放弃啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-1-7 20:05:12 | 显示全部楼层
这个真的很有意思啊,我看你这题思路开阔了好多
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-1-7 21:16:42 | 显示全部楼层
lylqiang 发表于 2014-1-7 20:05
这个真的很有意思啊,我看你这题思路开阔了好多

谢谢,我会再坚持一下!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-1-7 21:24:34 | 显示全部楼层

(2014.1.7)

本帖最后由 清风袋袋 于 2014-1-9 13:52 编辑

5.求最大数今天这个题目应该很简单的吧?
问555555的约数中最大的三位数是多少?
#include<stdio.h>
int main()
{
        long i;
        int j;
        printf("Please input number:");
        scanf("%ld",&i);
        for(j=999;j>=100;j--)
                if(i%j==0)
                {
                        printf("The max factor with 3 digits in %ld is:%d,\n",i,j);
                        break;
                }
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-1-8 01:49:45 | 显示全部楼层
看看....................
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-1-8 19:59:13 | 显示全部楼层
好,简单也是一种思路
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-1-9 13:44:00 | 显示全部楼层

(2014.1.9)

本帖最后由 清风袋袋 于 2014-1-9 13:52 编辑

6.高次方数的尾数
求13的13次方的最后三位数(之前还不会发代码呢,现在会了,改了格式更加清晰啦)
#include<stdio.h>
int main()
{
        int i,x,y,last=1;                        //变量last保存求X的Y次方过程中的部分乘积的后三位
        printf("Input X and Y(X**Y):");
        scanf("%d**%d",&x,&y);
        for(i=1;i<=y;i++)                        //X自乘Y次
                last=last*x%1000;                //将last乘X后对1000取模,即求积的后三位
        printf("The last 3 digits of %d**%d is:%d\n",x,y,last%1000);
}


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-1-12 20:32:04 | 显示全部楼层

2014.1.12

7.阶乘尾数零的个数
100!的尾数有多少个零?
#include<stdio.h>
int main()
{
        int a,count =0;
        for(a=5;a<=100;a+=5)        //循环从5开始,以5的倍数为步长,考察整数
        {
                ++count;                        //若为5的倍数,计数器加1
                if(!(a%25)) ++count;//若为25的倍数,计数器再加1
        }
        printf("The number of 0 in the end of 100! is: %d.\n",count); //打印结果
        return 0; 
}
这里稍微解释一下,由于计算机所能表示的整数范围有限,直接解是不可能的。所以必须首先从数学上分析在100!结果值的末尾产生零的条件。不难看出:一个整数若含有一个因子5,则必然会在求100!时产生一个零。因此问题转化为求1到100这100个整数中包含了多少个因子5。若整数N能被25整除,则N包含2个因子5;若整数N能被5整除,则N包含1个因子5。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-26 03:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表