综合运用种基本结构进行程序设计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、 试验汇报写在教务处下发试验汇报纸上,每次试验完成后课代表收齐统一交给老师。
试验源程序写在单独一个本子上,试验课时带到机房,供上机调试使用,试验老师抽查完成情况。