您的位置:时时app平台注册网站 > 时时app平台注册网站 > C语言首回作业

C语言首回作业

2019-09-19 22:12

4.

(1)标题修改第2题,输入年份和月份,判定这个月有稍许天。
(2)流程图
图片 1
(3)测验数据及运转结果
图片 2
图片 3
图片 4
(4)实验分析

             问题1:不明白2月跟其他月怎么分开?
             原因:忘记了选择框图

闰年(Leap Year)是为着弥补因人工历法规定形成的年度天数与地球实际公转周期的光阴差而开设的。补上时间差的年份为闰年。

(一)

 

2.

(1)标题输入一个二个人年份,剖断其是不是是闰年。闰年的辨认条件是该年年份能被4整除但无法被100整除、或许能被400整除。
(2)流程图
图片 5
(3)测量试验数据及运转结果
图片 6
图片 7
(4)实验剖析

             问题1:有个别特殊的年份在输出程序的时候错误
              原因:把三个条件分开来写导致错乱
#include <iostream>
using namespace std;
int main(void)
{
    int x,y,z,t;
    cout<<"请输入3个整数n";
    cout<<"第一个整数:";
    cin>>x;
    cout<<"第二个整数:";
    cin>>y;
    cout<<"第三个整数:";
    cin>>z;
    if (x>y)
    {
        t=x;
        x=y;
        y=t;
    } /*交换x,y的值*/
    if(x>z)
    {
        t=z;
        z=x;
        x=t;
    }/*交换x,z的值*/
    if(y>z)
    {
        t=y;
        y=z;
        z=t;
    }/*交换z,y的值*/
    cout<<"三个数从小到大,分别为:n"<<x<<endl;
    cout<<y<<endl;
    cout<<z<<endl;
return 0;
}

3.

(1)标题 修改第2题,输出1976年于今全部的闰年
(2)流程图
图片 8
(3)测量试验数据及运转结果
图片 9
(4)实验深入分析

             问题1:输出结果没有出现哪一年是闰年
             原因:在输出的时候双引号后面没有 年份

运维结果3:

6.

(1)题目修改第5题,用户最多能够猜13回,如若猜对了,输出猜对的次数,尽管11次都没猜对,输出正确答案。
(2)流程图
图片 10
(3)测量检验数据及运营结果
图片 11
图片 12

(4)实验剖判

             问题1:不能循环输入n
              原因:输入n框放在了循环框图的上面导致如此

(二)

 我的结对编程同学是范凯华同学,他的博客地址链接为http://www.cnblogs.com/fkh1/


 我觉得C语言这门学科只要你认真思考,认真学习,钻研就可以学好,然后跟同学一起思考问题,一起解决问题,也是一种乐趣。编程原来感觉很困难,不能接受,但经过了这次作业之后感觉心里没有那么大的难受了,可以接受了,经过这次作业之后我收获了要努力钻研的态度,不能放弃的心 ,相信了只要你想就肯定可以做出来的意识。

i=n/100;//分解出百位

1.

(1)标题 求圆面积和周长  输入圆的半径,总计圆的周长和面积。
(2)流程图
图片 13
(3)测量试验数据及运维结果
图片 14
图片 15
(4)实验深入分析

   问题1:输出的时候只有数字没有求的变量
   原因:在输出的时候双引号后面要写 变量

==============================================================

5.

(1)标题程序随机产生贰个100以内的整数,顾客输入猜的数字,只可以猜一次,决断是还是不是猜对了, 假使猜错了,则印证猜大了可能猜小了。
(2)流程图
图片 16
(3)测验数据及运转结果
图片 17
图片 18
(4)实验深入分析

             问题1:本道题没有问题
              原因:

2.程序源代码:

图片 19

标题:打字与印刷楼梯,同期在阶梯上方打字与印刷三个笑貌。

9

恍如的还恐怕有stdio.h也是与标准输入输出相关的头文件,也很常用。

1.     程序主体功效深入分析:先落成填在百位、拾肆个人、个位的数字都以1、2、3、4,组成全体的排列后再排除去掉不满足条件的排列。

#include <cstdio>
int main()
{
    int i,j,result;
    printf("n");
    for (i=1;i<10;i  )
    {
        for(j=1;j<10;j  )
        {
            result=i*j;
            printf("%d*%d=%-3d",i,j,result);//%-3d表示输出左对齐,占3位
        }
        printf("n");//每一行后换行
    }
    return 0;
}

6

VC 2010后为重载函数,原型为 float sqrt (float),double sqrt (double),double long sqrt(double long)

【程序13】

#include <iostream>
using namespace std;
int main()
{
    long f1,f2;
    int i;
    f1=f2=1;
    cout<<"每个月兔子的总对数,分别为:n";
    for(i=1;i<=20;i  )
    {
    printf("ld ld",f1,f2);
    if(i%2==0)
    {
    printf("n");//控制输出,每行4个

    }
    f1=f1 f2;/*前两个月加起来赋值给第三个月*/
    f2=f1 f2;/*前两个月加起来赋值给第三个月*/
    }
    return 0;
}

==============================================================

图片 20

本来假若你一代从不想到是从2算到sqrt,也能够从2算到a(只是计算机多算一些光阴)。

2.程序源代码:

#include <cstdio> //定义输入/输出函数
int main()
{
    printf("Hello C-world!n");
    printf(" ****n");
    printf(" *n");
    printf(" * n");
    printf(" ****n");

    return 0;
}

而n必得是整数,则n<=84,n*n<=84*84,则(a 268)小于7056,该是小于1万的。

#include <cstdio>
int main()
{
    int i,j;
    printf("11n");//输出两个笑脸
    for(i=1;i<11;i  )
    {
        for(j=1;j<=i;j  )
        {
            printf("%c%c",219,219);
        }
        printf("n");
    }
    return 0;
}
  1. 前后相继深入分析:

大家参谋《特出c程序100例》该小说,设置程序扩展到在10万以内判定,能够作证咱们原先的猜度。

【程序11】

出口结果:

回顾的来讲,倘若leap = 5,在if(leap){} 那几个姿势中是树立的,为true而在if( leap == 1){} 则是为假的。

请输入月份:3 (假使客商输入3)

It is the 66th day of 2001!

#include <iostream>
#include "math.h" 
using namespace std;
int main()
{
    int day,month,year,sum,leap;

    cout<<"请输入年份:";
    cin>>year;
    cout<<"n请输入月份:";
    cin>>month;
    cout<<"n请输入日期:";
    cin>>day;


    switch(month)
    {
        case 1:sum=0;
            break;
        case 2:sum=31;
            break;
        case 3:sum=59;
            break;
        case 4:sum=90;
            break;
        case 5:sum=120;
            break;
        case 6:sum=151;
            break;
        case 7:sum=181;
            break;
        case 8:sum=212;
            break;
        case 9:sum=243;
            break;
        case 10:sum=273;
            break;
        case 11:sum=304;
            break;
        case 12:sum=334;
            break;
        default:cout<<"输入的月份错误!";
            break;
    }

    sum=sum day;//再加上某天的天数
    if(year@0==0||(year%4==0&&year0!=0))  //判断是不是闰年。
        //此外,上行也可以写为if((year@0==0)||((year%4==0)&&(year0!=0)))
        leap=1;
        else 
            leap=0;
    if(leap==1&&month>2)  //如果是闰年并且月份大于2,总天数应该加1天
    {
        sum  ;
    }
    cout<<"It is the "<<sum<<"th day of "<<year<<"!"<<endl;
    return 0;
}
#include <iostream>
int main()
{
    int i,j,k,n;
    std::cout<<"'water flower' number is:";
    for(n=100;n<1000;n  )
    {
        i=n/100;//分解出百位
        j=n/10;//分解出十位
        k=n;//通过求余取出个位
        if(i*100 j*10 k==i*i*i j*j*j k*k*k)
        {
            std::cout<<n<<"t";
        }
    }
    std::cout<<"n";
    return 0;
}
#include <iostream>
#include <cmath> 
using namespace std;
int main()
{
  int m,i,k,h=0,leap=1;
  cout<<"n";//C  中尽量不要少用printf函数,printf("n");
  for(m=101;m<=200;m  )
  {
    k=sqrt(m 1);//sqrt()函数,计算平方根
    for(i=2;i<=k;i  )
    {
        if(m%i==0)
        {
            leap=0; 
            break;//这里break;是跳出for循环
        }
        //其他的情况下,leap值没有被修改依旧为1。
   }//如果leap=1的,则为素数,下面实现输出。
    if(leap)//if(leap)这里也可以写成 if(leap==1)
    {
        printf("%-4d",m);//%-4d控制输出左对齐并占4位。
        h  ;
        if(h==0)//控制每行输出10个数字
        printf("n");   
    }
    leap=1;
  }
  printf("nThe total is %dn",h);

    return 0;
}

==============================================================

2.     增添总计个数的意义:

一心平方即用一个板寸乘以自个儿比如1*1,2*2,3*3等等,由此及彼。若二个数能表示成有些自然数的平方的款型,则称这么些数为完全平方数。

==============================================================

1.主次解析:用i调整行,j来调节列,j依据i的浮动来调整输出黑方格的个数。

 

问题:输出特殊图案,请在C 蒙受中运维,看一看,Very Beautiful!

【程序3】

 假使标题中的整数加它助长100后,再拉长168的一心平方数开平方后的值为n。

运维结果:

写程序思维供给对比审慎。

#include <iostream>
using namespace std;
int main()
{
    int n=0;
    /*以下为三重循环*/
    for (int i=1;i<5;i  )
    {
        for(int j=1;j<5;j  )
        {
            for(int k=1;k<5;k  )
            {
                if((i!=k)&&(i!=j)&&(j!=k))
                    /*确保i、j、k三位互不相同*/
                {
                    cout<<i<<j<<k<<endl;
                    n  ;
                }
            }
        }
    }
    cout<<"由1、2、3、4个数字,能组成"<<n<<"个互不相同且无重复数字的三位数!"<<endl;
    return 0;
}

平素复制造进程序到VC 6.0中看看的结果如下,居然是乱码!!

2.程序源代码:

C语言中%d和%ld之间的分别:

261

 

#include <iostream>
using namespace std;
int main()
{
    /*以下为三重循环*/
    for (int i=1;i<5;i  ) 
    {
        for(int j=1;j<5;j  )
        {
            for(int k=1;k<5;k  )
            {
                if((i!=k)&&(i!=j)&&(j!=k))
               /*确保i、j、k三位互不相同
                     加上括号可以增加程序的可读性 */
                cout<<i<<j<<k<<endl;
            }
        }
    }
    return 0;
}

 

 

#include <iostream>
#include "math.h" 
using namespace std;
int main()
{
    long int a,x,y;
    for(a=1;a<100000;a  )
    {
        x=sqrt(a 100); //x为(a 100)后开平方的结果
        y=sqrt(a 268);//y为(a 268)后开平方的结果
        if((x*x==(a 100))&&(y*y==(a 268)))
        {
            cout<<a<<endl;
        }
        //如果一个数的平方根的平方等于该数,这说明此数是完全平方数
    }

    return 0;
}
#include <cstdio> //定义输入/输出函数
int main()
{
    char a=176,b=219;
    printf("%c%c%c%c%cn",b,a,a,a,b);//%c是换成ASCII码输出
    printf("%c%c%c%c%cn",a,b,a,b,a);
    printf("%c%c%c%c%cn",a,a,b,a,a);
    printf("%c%c%c%c%cn",a,b,a,b,a);
    printf("%c%c%c%c%cn",b,a,a,a,b);
}

   后每一种月又生一对兔子,借使兔子都不死,问每一种月的兔子总的数量为多少?

1.主次解析:以四月5日为例,应该先把前三个月的加起来,然后再加上5天即今年的第几天,特殊境况,闰年且输入月份大于3时需思量多加一天。

标题:打印出富有的“天葱数”,所谓“金盏银台数”是指一个三位数,其各位数字立方和非常该数

测验结果输出了:

    最后再将y和z的值进行相比,假诺y>z则将y和z的值实行置换。再将x,y,z输出。

《优异c程序100例》那么些稿子是本人在百度文库中观察的,看到那个著作心境非常激动,很谢谢原创者的宏伟进献!太伟大了!!认为里面包车型客车小例子拿来用于演习很能够活跃算法思维。 

请输入日期:7 (假若客商输入日期7)

常用的头文件丰盛多,假使日常用的时候不完全知道大概十分的小领悟的时候,当您用到哪些函数,去msdn帮忙文件里搜一下,就理解该包括怎样头文件了,轻松又便捷

k=n;//通过求余抽取个位

1、math.h是与数学生运动算相关的头文件,很常用。

   本人。举个例子:153是一个“天葱数”,因为153=1的三回方+5的贰次方+3的二回方。

=--可以指定宽度,不足的左边补空格
%-3d--左对齐 表示输出的内容左对齐,输出结果共有3位,不足的话,在结果最后用空格补足占3位
d---一种左边补0 的等宽格式,比如数字12,d出来就是: 012

2、sqrt函数是用于平方根总括的函数

4、关于break

【程序12】

%ld是按长整型输出,长度是整型的2倍33个人,范围-2147483648---2147483647

1.程序分析:可先用'*'号在纸上写出字母C,再分行输出。

 

前后相继表达:

【程序7】

输入以下,测量试验评释是不是会并发系统自动小数点后逢五进一的主题材料。

#include <iostream>
using namespace std;
int main()
{
    long int i;
    int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;
    cout<<"请输入利润(I),要求必须是数字:";  
    //测试的时候如果输入的是小数,编译器会自动隐式转换为整型

    cin>>i;
    bonus1=100000*0.1;
    bonus2=bonus1 100000*0.075;
    bonus4=bonus2 200000*0.05;
    bonus6=bonus4 200000*0.03;
    bonus10=bonus6 400000*0.015;   

    if(i<=100000)
    {
        bonus=i*0.1;
    }
        else if(i<=200000)
        {
            bonus=bonus1 (i-100000)*0.075;
        }
            else if(i<=400000)
            {
                bonus=bonus2 (i-200000)*0.05;
            }
                else if(i<=600000)
                {
                    bonus=bonus4 (i-400000)*0.03;
                }
                    else if(i<=1000000)
                    {
                        bonus=bonus6 (i-600000)*0.015;
                    }
                        else 
                            bonus=bonus10 (i-1000000)*0.01;
    cout<<bonus<<endl;
    if(bonus<=0) cout<<"奖金小于等于0,不用发奖金"<<endl;
/* 
如果企业实际执行,利润亏损需要罚钱,可以删除"if(bonus<=0) cout<<"奖金小于等于0,不用发奖金"<<endl;"该句提示语。
*/
    return 0;
}

 

 

2.程序源代码:

图片 21

1.顺序深入分析:分行与列惦念,共9行9列,i调控行,j调整列。

2.程序源代码:

图片 22

==============================================================

则 a = pq >= p² 即 p<= 根号a。

功 能: 总计三个非负实数的平方根

假诺依然不理解,能够百度 谷歌(Google),只怕找朋友咨询。 

【程序9】

1、关于if(leap):

1.顺序分析:请利用划分金额作为分界,分品级总结。程序中,把奖金和净利益定义为长整型,假设急需小数点可依附实际供给定义为实型等别的数据类型。

y*y=a 268; 

3、关于为啥是从2到sqrt:

请输入月份:13 (假如客商输入13,测量试验输入错误月份提示语)

评释达成!

2.程序源代码:

贯彻格局一:

%ld 是 printf 函数和任何类似函数中的输出格式调整符, 意思是出口长整型。 

以下顺序已经在VC 6.0中调护治疗。

  ==============================================================

标题:输入八个整数x,y,z,请把那多个数由小到大出口。

题目:须求输出国际象棋棋盘。

是或不是真正精确地抽取了颇具质疑。

万事如意方式二:

其间1-二月独家为31天,28天(闰年为29天),31天,30天,31天,30天,31天,31天,30天,31天,30天,31天。该程序关于日期输入错误的晋升成效模块,因为篇幅有限就不再赘述,伊始构思能够遵循28,29,30,31四类天数用switch语句完毕。

ASCII码字符共有2六12个。不相同字符,图形不雷同。

==============================================================

将难点中的该整数设为a,该数a加上100后是四个完全平方数(设该完全平方数开方后也就是整数x),再加上168又是一个截然平方数(设该完全平方数开药方后格外整数y),若是开药方后的结果满足该条件,便是结果。

经典c程序100例==11--20

if语句是选择分支语句不是循环。for,while,do while是循环

if语句是顺序执行的,执行完了就结束了。

题外话,continue只是对于循环有效,对于if等其他不是循环的都无效。

2、%-4d的作用:
体现位宽为4的整数(就是数字个数为4,远远不足4的会空出来凑4个,多了就不管了,照原数据出口)而“-”使得数据从侧边被输出(左对齐)。
例如:
  int x=12234;
 printf("%-4d",x);
输出结果是12234.

【程序4】

 在那之中咱们或者会对:

2.程序源代码: 

运作结果能够看出如下:

#include <iostream>
using namespace std;
int main()
{
    cout<<"Hello C-world!n";
    cout<<" ****n";
    cout<<" *n";
    cout<<" * n";
    cout<<" ****n";

    return 0;
}

2.程序源代码:

虔诚的感觉不理想!以为被难点骗了!

新生换个角度想想,或者是什么地方设置不对。

百度了弹指间,找到了缘由:编号在128~255的是扩大的编码,原来不是作为展现用的,并且大家的支配台默许代码页是“936 (ANSI/OEM -简体普通话GBK)”。如若要显得扩大ASCII码,则将施行这一个顺序的调节台的的代码页改为 437 (OEM-美利哥) 就能够!
在刚刚乱码的主宰台窗口标题栏上 右键--》暗许值--》暗许代码页  修改为437,再次运维程序就来看了。

if(leap) 那样判别会被机关转化成五个Boolean量来张开流程的垄断(monopoly),会转化成 true and false 五个量而你说的leap == 1 则只是仅仅的恒值的可比。

1.主次解析:

 

j=n/10;//分解出12个人

假若输入的是负数,即收益为负数,业绩亏蚀,系统也是会依据低于或等于10万元时的奖金依据一成算,算出来的结果是负数,即须要对其开展扣钱处置罚款。尽管厂家实际实施,只发奖金不扣钱,能够由此"if(bonus<=0) cout<<"奖金小于等于0,不用发奖金"<<endl;"该句给顾客提醒!

标题:公司发放的奖金根据收益提成。收益(I)低于或等于10万元时,奖金可提一成;利益超过10万元,低于20万元时,低于10万元的一部分按百分之十提成,高于10万元的一对,可可提成7.5%;20万到40万之内时,高于20万元的一些,可提成5%;40万到60万时期时超过40万元的部分,可提成3%;60万到100万中间时,高于60万元的有个别,可提成1.5%,高于100万元时,超过100万元的局地按1%提成,从键盘输入前一个月利益I,求应发放奖金总额?

#include <cstdio>
int main()
{
    int i,j;
    for(i=0;i<8;i  )
    {
        for(j=0;j<8;j  )
        {
            if((i j)%2==0)
            {
                printf("%c%c",219,219);
            }
            else
                printf("  ");//注意双引号里面是两个空格

        }
        printf("n");
    }
    return 0;
}

则其相邻的八个精光平方数的差=2n-1<=168;

 

【程序5】

%d是按整型输出,在C语言中是14位的二进制数范围-32768——32767

运作结果1:

#include <iostream>
int main()
{
    int i;
    i=679;
    std::cout<<i/100<<std::endl;//分解出百位检查
    std::cout<<i/10<<std::endl;//分解出十位检查
    std::cout<<i<<std::endl;//个位检查
    return 0;
}

 

7

以下是摘录自百度百科中有关“闰年”的牵线:

请输入月份:4 (假诺客商输入4)

%c是换到ASCII码输出,跟上边的【程序7】同样必要安装控制台暗中同意代码页为437 (OEM-U.S.A.)后再运营程序。
运行结果:

正文主如果用C 完结《精彩c程序100例》

2.程序源代码:

图片 23

==============================================================

程序代码:

姚女子花剑数是:153  370  371  407

 

【程序1】标题:由1、2、3、4个数字,能组成多少个大相径庭且无重复数字的几人数?都以不怎么?

 

 

 

题目:用*号出口字母C的图画。

因为涉及到每种月份的命局区别样。

 

 

图片 24

标题:古典难点:有一对兔子,从降生后第半年起各种月都生一对兔子,小兔子长到第四个月

2.程序源代码:

(按叁回归年365天5小时48分45.5秒)
  ①、普通年能被4整除且不能够被100整除的为闰年。(如2002年便是闰年,1905年不是闰年)
  ②、世纪年能被400整除的是闰年。(如两千年是闰年,一九〇三年不是闰年)
  ③、对于数值异常的大的年度,这一年只要能整除3200,何况能整除172800则是闰年。如172800年是闰年,86400年不是闰年(因为纵然能整除3200,但不能够整除172800)(此按二回归年365天5h48'45.5''总括)。
  其余,如依照现存太阳年的长短与上述闰年法规,每柒仟年又约差二十六日,由此John·赫歇尔提出每逢陆仟的翻番不闰,如西元四千年。但距此一年份来临尚有约二千年之遥,因而还未曾真正归入法规或推行过。又由于地球公转速率的不平静与众多震慑因素,届时是或不是须求放入此准绳仍有疑问。

1581

请输入年份:两千(即使顾客输入三千)

运营结果如下图 能够见见等号前边3位是左对齐的,进而形成了整齐的排列:

难题:输入某年某月某日,判别这一天是那一年的第几天?

==============================================================

设a为合数,则a=pq,不妨设 2 <= p <= q。

break只能用于循环和switch里,它的效果是跳出一层循环大概一个支行switch。是针对性近些日子的特别。

因为,假使a是合数,则a必有三个因数不超过根号a。

题目:输出9*9口诀。

【程序6】

1.顺序分析: 兔子对数的规律为数列1,1,2,3,5,8,13,21....

【程序2】

1.主次深入分析:首先,大家将x与y进行相比,假如x>y则将x与y的值进行置换(要是自个儿x<=y则不调换保持原状),进而完毕了x和y的值遵照从小到大排序。然后再用x与z进行比较,倘若x>z则将x与z的值实行沟通,那样能使x最小。

1.顺序深入分析:用i调控行,j来调控列,依据i j的和的变通来调控输出黑方格,照旧白方格。

【程序10】

以下是注明:

函数原型: 在VC6.0中的math.h头文件的函数原型为double sqrt(double);

It is the 96th day of 2000!

万一计算机安装了VC ,能够搜索一下Computer,后缀名叫.h的文件就清楚有哪些规范头文件了。

请输入日期:9 (借使客户输入日期9)

图片 25

2.程序源代码:

剖断素数的办法:用贰个数分别去除2到sqrt(这么些数),假若能被整除,则表明此数不是素数,反之是素数。

运作结果跟数学生运动算的逻辑推演结果同样,4*3*2=24种(以百位起先推理,百位有4种采纳,百位的数字分明后选拔后11个人有3种侧向选择,而当百位和12人的数字都规定后则个位有2种偏侧选用)。 

 

【程序8】

 

1.前后相继分析:利用for循环调节100-9玖拾柒个数,各种数分解出个位,12人,百位。

x*x=a 100;

 

1.前后相继深入分析:提醒输出的是扩大ASCII码      

因为偶数永久不容许为素数,所以从101初阶,每一趟扩张2,也正是只思量奇数。
对此每三个奇数k,从2到k-1,尽管在2到k-1之间找到能被k整除的数字,也正是约数,自然不是素数了。        

请输入年份:三千(假使客户输入3000)

在意未有int sqrt (int) 

从调节和测验结果3来看假若输入的月度错误会有提示,可是就算输入的日期错误,未有提示。该程序有待改进。

请输入日期:5 (假使顾客输入日期5)

左近的多少个精光平方数的差=n*n-(n-1)*(n-1)=2n-1。

21

难点:二个整数,它丰硕100后是三个通通平方数,再加上168又是二个一心平方数,请问该数是有一些?

3、原文《经典c程序100例》中用printf("%ldn",i)输出。

难题:决断101-200里面某个许个素数,并出口全部素数。

 

 

n<=84.5;

 

运作结果2:

2.程序源代码:

 

请输入年份:2001(若是客商输入二零零二)

正确总结方法

 

==============================================================

程序输出结果为:

说明:

输入的月份错误!It is the -858993450th day of 三千!

本文由时时app平台注册网站发布于时时app平台注册网站,转载请注明出处:C语言首回作业

关键词: