文档介绍:《程序设计基础课程设计》实验报告班级:姓名:陈玉洪学号:所选题目:1_1,1_3,1_4,2_1,2_3,3_1,3_3,4_1,:设计一个复数类型,输入实部和虚部生成一个复数,可进行两个复数求和、求差、求积运算。源程序:#include<>intmain(){ floata1,a2,b1,b2,a,b; charc1; 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); return0;}测试数据:第1_3题算法描述:假定用一个整型数组表示一个长整数,数组的每个元素存储长整数的一位数字,实际的长整数m表示为:m=a[k]×10k-1+a[k-1]×10k-2+….+a[2]×101+a[1]×100其中a[0]保存该长整数的位数。实现长整数除普通整数。源程序:#include<>#include<>intcount(intx){ inti; for(i=0;x>0;x/=10){ i++; } returni;}intmain(){ intn,mun,t,x,i,j,a[100],b[100]; charc; 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];j>a[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];i>0;i--){ printf("%d*10^%d",b[i],i-1); if(i>1)printf("+"); } putchar('\n'); return0;} 测试数据: 第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。源程序:#include<>intfenjie(intx){ intt,num=0; for(t=0;x>0;x/=10){ t=x%10; num+=t*t; } returnnum;}intmain(){ intj,x,i,m,count=0; for(j=0;j<5;j++){ scanf("%d",&x); if(x>=10)break; elseprintf("error!inputagain\n"); } if(j==5)printf("toomucherrorend!\n"); if(j<5){ for(i=x;i>=10;i--){ m=i; for(;m>=10;){ m=fenjie(m); } if(m==1){ count++; } } printf("%d",count); } return0;} 测试数据:第2_1题算法描述:用文件保存一段英文文本。(1)统计各字母在文本中出现的次数(区分大小写),并按英文字母序输出统计结果。(2)查找并替换文本中的某字符串,将替换后的文本存入另一个文源程序:#include<>#include<>intmain(){ FILE*fp,*fq,*fw; inti,j=0,a[1000]={0}; charc,b[100][100]={'\0'},e