• 论文写作指导
  • 论文格式模板
  • 职称论文
  • 政工论文
  • 管理论文
  • 科技论文
  • 技术论文
  • 学术论文
  • 学科论文
  • 毕业论文
  • 其它论文范文
  • 当前位置: 工作范文网 > 论文 > 论文格式模板 > 正文

    综合运用种基本结构进行程序设计C语言程序实验报告

    时间:2020-11-09 09:32:40 来源:工作范文网 本文已影响 工作范文网手机站

    安 徽 工 程 大 学

    高级语言程序设计 实 验 报 告

    班级 姓名 同组者 / 成绩

    日期 .10.31 指导老师

    试验名称 综合利用3种基础结构进行程序设计

    试验目标

    熟练利用“数据类型和表示式 ”相关内容,选择适宜数据结构定义问题需要变量。

    熟练使用scanf函数和printf函数,进行数据输入和输出。

    深入掌握次序、选择、循环结构程序设计方法和技巧。

    综合利用3种基础结构进行程序设计。

    试验内容

    百马百担。100匹马,共驮100担,大马驮3担,中马驮2担,2个小马驮1担,问大、中、小马各多少?

    输入一行字符,分别统计其中英文字母、空格、数字和其它字符个数。

    打印输出“水仙花数”。“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。

    讲一个正整数分解成每个质因数乘积。如输入90,打印90=2*3*3*5.

    利用循环语句编写程序实现以下功效:对一个正整数,将各位数字反序后形成一个新整数输出。

    一个素数加上1000以后是37倍数,求满足这个条件最小素数。

    找1000以内全部“完数”。一个数假如恰好等于它因子之和,这个数就称为“完数”,如6就是一个完数,因为6=1+2+3。

    从键盘输入一串数字字符(该字符串至多包含一个点号'.'),将其转换成对应实数。说明:点号前有0~9位数字字符,点号后有0~6位数字字符,不过点号前后不能同时没有数字字符。比如输入“36.8”或“36.80”,则输出实数36.800000;输入“.8”、“0.8”或“0.800”,则输出实数0.800000;输入字符串“36”或“36.0”,则输出实数36.000000.

    两个羽毛球队进行两两单打比赛(每名选手只能上场1次),每队3名选手。甲队为A、B、C三人,乙队为X、Y、Z三人,已知A不和X对抗,C不和X、Z对抗。

    *思索题

    已知

    VINGT

    CINQ

    + CINQ

    TRENTE

    试编写程序用尽可能少时间求解各个字母代表数字。

    提醒:题目要求所用时间尽可能少,那么下面这种方法很显然是不可行:

    for?(V=1;V<=9;V++)

    for(I=0;I<=9;?I++)

    for?(E=0;E<=9;?E++)

    {

    ..

    }

    能够经过找出某个字母范围,降低循环次数来节省运算时间。

    算法步骤图或试验步骤(可依据需要增删、修改)

    算法步骤图

    #include <stdio.h>

    void main()

    {

    int i,j,k;

    for(i=0;i<=33;i++)

    for(j=0;j<=50;j++)

    {

    k=100-i-j;

    if(3*i+2*j+k/2.0==100)

    printf(“Da=%d,Zhong=%d,Xiao=%d\n”,i,j,k);

    }

    }

    算法步骤图

    #include <stdio.h>

    void main()

    {

    char c;

    int letter=0,space=0,digtal=0,other=0;

    while((c=getchar())!=‘\n’)

    {

    if((c>=‘A’&&c<=‘Z’)||(c>=‘a’&&c<=‘z’))

    letter++;

    else if(c==‘ ‘)

    space++;

    else if(c>=‘0’&&c<=‘9’)

    digtal++;

    else

    other++;

    }

    printf(“letter=%d,space=%d,digtal=%d,other=%d”,letter,space,digtal,other);

    }

    算法步骤图

    #include <stdio.h>

    void main()

    {

    int i,j,k;

    for(i=1;i<=9;i++)

    for(j=0;j<=9;j++)

    for(k=0;k<=9;k++)

    {

    if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)

    printf(“%d\n”,i*100+j*10+k);

    }

    }

    算法步骤图

    #include <stdio.h>

    void main()

    {

    int n,i=2;

    scanf(“%d”,&n);

    printf(“%d=“,n);

    while(n>1)

    {

    if(n%i==0)

    {

    printf(“%d*”,i);

    n=n/i;

    }

    else i++;

    }

    printf(“\b “);

    }

    算法步骤图

    #include <stdio.h>

    void main()

    {

    long m,n,sum=0;

    scanf(“%ld”,&m);

    while(m>0)

    {

    n=m%10;

    m=m/10;

    sum=sum*10+n;

    }

    printf(“%ld”,sum);

    }

    算法步骤图

    #include <stdio.h>

    void main()

    {

    int n=1,i;

    while(1)

    {

    n++;

    for(i=2;i<=n/2;i++)

    if(n%i==0) break;

    if((i>n/2)&&(n+1000)%37==0)

    {

    printf(“%d”,n);

    break;

    }

    }

    }

    算法步骤图

    #include <stdio.h>

    void main()

    {

    int i,j,sum,m;

    for(i=2;i<1000;i++)

    {

    sum=0;

    for(j=1;j<i;j++)

    if(i%j==0) sum+=j;

    if(sum==i)

    {

    printf("%d its factors are 1",i);

    for(m=2;m<i;m++)

    if(i%m==0) printf(",%d",m);

    printf("\n");

    }

    }

    }

    算法步骤图

    #include<stdio.h>

    void main()

    {

    int s1=0,j,i=1;

    float s=0,s2=0,x;

    char ch=getchar();

    while(ch!='.'&&ch!='\n')

    {

    s1=s1*10+ch-'0';

    ch=getchar();

    }

    if(ch!='\n')

    ch=getchar();

    while(ch!='\n')

    {

    x=ch-'0';

    ch=getchar();

    for(j=1;j<=i;j++)

    {

    x=x*0.1;

    }

    s2=s2+x;

    i++;

    }

    s=s1+s2;

    printf("%.6f\n",s);

    }

    算法步骤图

    #include<stdio.h>

    void main()

    {

    char i,j,k;

    for(i='X';i<='Z';i++)

    for(j='X';j<='Z';j++)

    if(i!=j)

    for(k='X';k<='Z';k++)

    if(i!=k&&j!=k)

    {

    if(i!='X'&&k!='X'&&k!='Z')

    printf("A-%c\nB-%c\nC-%c\n",i,j,k);

    }

    }

    *思索题-算法步骤图

    #include<stdio.h>

    void main()

    {

    int C,E,G,N,Q,R,V,I,T=1;

    int VINGT,CINQ,TRENTE,sum;

    for(Q=0;Q<=9;Q++)

    for(C=2;C<=9;C++)

    if(C!=Q)

    for(E=3;E<=9;E+=2)

    if(E!=Q&&E!=C)

    for(G=4;G<=9;G++)

    if(G!=Q&&G!=C&&G!=E)

    for(N=4;N<=9;N++)

    if(N!=Q&&N!=C&&N!=E&&N!=G)

    for(V=8;V<=9;V++)

    if(V!=Q&&V!=C&&V!=E&&V!=G&&V!=N)

    for(R=0;R<=1;R++)

    if(R!=T)

    for(I=4;I<=9;I+=5)

    if(I!=Q&&I!=C&&I!=E&&I!=G&&I!=N&&I!=V)

    {

    VINGT=(((V*10+I)*10+N)*10+G)*10+T;

    CINQ=((C*10+I)*10+N)*10+Q;

    TRENTE=((((T*10+R)*10+E)*10+N)*10+T)*10+E;

    sum=VINGT+2*(CINQ);

    if(sum==TRENTE) printf("C=%d,E=%d,G=%d,N=%d,Q=%d,R=%d,V=%d,I=%d,T=%d\n",C,E,G,N,Q,R,V,I,T);

    }

    }

    试验结果及分析

    1.

    2,30,68

    5,25,70

    8,20,72

    11,15,74

    14,10,76

    17,5,78

    20,0,80

    如第三项算法步骤图所表示

    153 370 371 407

    如第三项算法步骤图所表示

    如第三项算法步骤图所表示

    73

    6 28 496

    如第三项算法步骤图所表示

    A-Z B-X C-Y

    *思索题:C=6 E=7 G=5 X=8 Q=3 R=0 V=9 I=4 T=1

    试验体会、问题讨论

    if括号后若加分号,若if成立则实施分号

    格式while((c=getchar( ))!='\n')

    老师签字: 批改日期:

    说明:

    1、对于每一个试验项目,试验汇报(含预习)通常应包含以下内容:

    第一部分——预习后书面汇报。其关键内容应包含:*一、试验目标;*二、试验内容;三、算法步骤图或试验步骤。试验目标和试验内容参见试验教材或老师下发内容。

    第二部分——试验结果书面汇报。其关键内容应包含: *四、试验结果及分析(含试验测试输入数据,试验运行结果截图,用简练语言总结试验,汇报是否达成试验目标);*五、试验体会、问题讨论(谈体会或感想、提出提议或意见、讨论和试验相关且自己感爱好问题、回复课后思索题)。

    第三部分——附录:试验源程序。提前编写好程序,试验时调试并完善。

    2、 试验汇报写在教务处下发试验汇报纸上,每次试验完成后课代表收齐统一交给老师。

    试验源程序写在单独一个本子上,试验课时带到机房,供上机调试使用,试验老师抽查完成情况。

    有关的专题