- 88
- 0
- 约9.88千字
- 约 19页
- 2017-02-08 发布于重庆
- 举报
程序设计基础课程设计
《程序设计基础课程设计》实验报告
班级:1403011
姓名:陈玉洪
学号:14030110075
所选题目: 1_1, 1_3 , 1_4, 2_1, 2_3, 3_1, 3_3 , 4_1 , 5_1 .
第1_1题
算法描述:
设计一个复数输入实部和虚部生成一个复数复数求和求差求积#includestdio.h
int main(){
float a1,a2,b1,b2,a,b;
char c1;
scanf(%f+%fi,a1,b1);
while(1){
c1=getchar()
if(c1==\n){break;}
scanf(%f+%fi,a2,b2);
if(c1==+){
a=a1+a2; b=b1+b2;
}
if(c1==-){
a=a1-a2; b=b1-b2;
}
if(c1==*){
a=a1*a2-b1*b2;
b=a1*b2+a2*b1;
}
a1=a;b1=b;
}
printf(%f+%fi,a,b);
return 0;
}
测试数据:
第1_3题
算法描述:
假定用一个整型数组表示一个长整数,数组的每个元素存储长整数的一位数字,实际的长整数m表示为:m=a[k]×10k-1+a[k-1]×10k-2+….+a[2]×101+a[1]×100
其中a[0]保存该长整数的位数。长整数除普通整数。#includestdio.h
#includectype.h
int count(int x){
int i;
for(i=0;x0;x/=10){
i++;
}
return i;
}
int main(){
int n,mun,t,x,i,j,a[100],b[100];
char c;
printf(m = );
for(i=1;(c=getchar())!=\n;i++){
a[i]=c-0;
}
i--;
a[0]=i;
for(j=1;j=a[0]/2;j++,i--){
t=a[j];
a[j]=a[i];
a[i]=t;
}
printf(n = );
scanf(%d,n);
x=count(n);
for(mun=0,j=a[0];ja[0]-x;j--){
mun*=10;
mun+=a[j];
}
if(mun/n!=0){
b[0]=a[0]-x+1;
for(i=b[0];i=1;i--){
b[i]=mun/n;
mun%=n;
mun=mun*10+a[i-1];
}
}
else{
b[0]=a[0]-x;
mun=mun*10+a[a[0]-x];
for(i=b[0];i=1;i--){
b[i]=mun/n;
mun=mun%n;
mun=mun*10+a[i-1];
}
}
printf(m/n = );
for(i=b[0];i0;i--){
printf(%d*10^%d,b[i],i-1);
if(i1) printf(+);
}
putchar(\n);
return 0;
}
测试数据:
第1_4题
算法描述:
根据输入的数字N,计算N以内(包括N)数据链并统计数据链末尾数字是1的数据个数。例如N=44,则数字链为:44-32-13-10-1,其规则为:4*4+4*4=32,3*3+2*2=13,1*1+3*3=10,1*1+0*0=1。
源程序#includestdio.h
int fenjie(int x){
int t,num=0;
for(t=0;x0;x/=10){
t=x%10;
num+=t*t;
}
return num;
}
int main(){
int j,x, i,m,count=0;
for(j=0;j5;j++){
scanf(%d,x);
if(x=10) break;
else printf(error! input again\n);
}
if(j==5) printf(too much erro
原创力文档

文档评论(0)