您好,欢迎来到爱站旅游。
搜索
您的当前位置:首页c语言编程题答案

c语言编程题答案

来源:爱站旅游
.

六、编程题参

1.编程,统计在所输入的50个实数中有多少个正数、多少个负数、多少个零。 #include \"stdio.h\" #define N 50 void main()

{ float x; unsigned int s1,s2,s3,i; s1=s2=s3=0;

for(i=1;i<=N;i++) { scanf(\"%f\

if(x<0) s1++; else if(x==0) s2++; else s3++; }

printf(\"负数%u个,零%u个,正数%u个\\n\ }

2. 编程,计算并输出方程 X2+Y2=19 的所有整数解。 #include \"stdio.h\" void main() { int x,y;

for(x=-45;x<=45;x++) { y=-45;

while(y<=45) {

if(x*x+y*y==19)

printf(\"%d*%d+%d*%d=%d\\n\ y++; } } }

3.编程,输入一个10进制正整数,然后输出它所对应的八进制、十六进制数。 #include \"stdio.h\" void main()

{ unsigned int x;

printf(\"请输入一个十进制正整数:\"); scanf(\"%u\

printf(\"%d=八进制数 %o=十六进制数%x\\n\ }

4.编程,找出1000以的所有完数,并输出其因子。

.

.

#include \"stdio.h\" void main()

{ int i,j,s=1;

for(i=1;i<=1000;i++,s=1) {

for(j=2;j<=i/2;j++) if(i%j==0) s+=j; // 求 i的因子和 if(s==i) {

printf(\"%d=1\如果i 是完数则输出其各因子

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

if(i%j==0) printf(\"+%d\ printf(\"\\n\"); } } }

5. 输入一个正整数,输出它的所有质数因子。

#include \"stdio.h\" void main() { int m,i=2;

printf(\"请输入一个整数:\"); scanf(\"%d\

while(m!=1) if(m%i==0){ printf(\"%d \ printf(\"\\n\"); }

6. 输入20个整数,输出其中能被数组中其它元素整除的那些数组元素。 #include \"stdio.h\" #define N 20 void main()

{ int a[N],i,j;

for(i=0;iif(a[i]%a[j]==0&&i!=j) { printf(\"%d\\n\ }

7. 输入两个数组(数组元素个数自定),输出在两个数组中都出现的元素。 #include \"stdio.h\" #define NA 6 #define NB 8 void main()

.

.

{ float a[NA],b[NB]; int i,j;

for(i=0;iif(a[i]==b[j]) { printf(\"%f\\n\ }

8. 输入两个数组(数组元素个数自定),输出在两个数组中都不出现的元素。 #include \"stdio.h\" #define NA 6 #define NB 8 void main()

{ float a[NA],b[NB]; int i,j;

for(i=0;ifor(j=0;jprintf(\"\\n\");

for(i=0;ifor(j=0;jprintf(\"\\n\"); }

9.编程,将字符数组S2中的全部字符拷贝到字符数组S1中。 #include \"stdio.h\" void main()

{ char s1[20],s2[]=\"Good morning!\"; int i=0; while((s1[i++]=s2[i])!='\\0'); printf(\"%s\\n\ } 10.给定年份year,判别该年份是否闰年(定义一个宏以判别该年份是否闰年)。 #include

#define f(year) year%4==0&&year%100!=0||year%400==0 void main() { int y;

printf(\"请输入年份:\"); scanf(\"%d\ if(f(y)) printf(\"%d 年为闰年\\n\ else printf(\"%d 年不是闰年\\n\

.

.

}

11.输入一行小写字母后,或输出原文,或将字母变成其下一字母(a变成b、b变成c、…、x变成y、y变成z、z变成a)输出,用条件编译方法实现以上选择。

#include #define MAX 80 #define SWITCH 1 void main()

{ char str[MAX]; int i=0;

printf(\"请输入文本行:\\n\"); scanf(\"%s\ #if(SWITCH)

while(str[i]!='\\0')

if(str[i]>='a'&&str[i]<='z')

if(str[i]=='z')str[i]='a'; else str[i]++; i++; #endif

printf(\"%s\\n\ }

12. 编写函数,处理n行n列维数组:将每一行的元素同除以该行上绝对值最大的元素。

#include \"stdio.h\" #include \"math.h\"

void div(float** a,int n) { int i,j; float x; for(i=0;iif(fabs(*(*(a+i)+j))>fabs(x)) x=*(*(a+i)+j); for(j=0;jreturn; }

void main() // 函数引用示例

{ float b[3][3]={{1,2,3},{4,5,6},{7,8,9}}; int i,j; float* c[3];

for(i=0;i<3;i++) c[i]=b[i]; div(c,3); for(i=0;i<3;i++) {

for(j=0;j<3;j++) printf(\"%f \ } }

13. 编写函数,求任意阶多项式 a0+a1X+a2X2+...+anXn 的值并返回多项式的值。 #include \"stdio.h\"

.

.

float f1(float* a,float x,int n) { int i; float t=1,y=0;

for(i=0;ivoid main() // 函数引用示例 { float b[4]={1,2,3,4};

printf(\"%f\\n\ }

14. 设计一个函数,使给出一个数的原码,能得到该数的补码。

#include // 假定sizeof(int)为2; unsigned int getbit(unsigned int value) //第1位为0表示数的原码,

{ if(value>>15) return (value^0x7fff)+1; //其补码即其原码;若value

else return value; //右移15位后为1,表示value是负数的原码,负数

} //的补码为原码按位取反(第1位不变)后加1。

void main()

{ unsigned int y=0x800c,k;

k=getbit(y); printf(\"%x\\n\ }

15. 编写函数,求m行、n列的二维数组全体元素中负数的个数。 #include

int sum(float **a,int m,int n) { int i,j; int y=0;

for(i=0;ivoid main() // 函数引用示例

{ float b[2][3]={{-1,2,-3},{4,-5,-6}}; int i; float* c[2]; for(i=0;i<2;i++) c[i]=b[i]; printf(\"%d\\n\ }

16. 编写函数,返回在一个整数组中出现次数最多的数及其出现次数。 #include

void fun(float *a,int n,int *k,float *x) { int i,j,y; *k=0;

for(i=0;ifor(j=0;j*k) { *k=y; *x=*(a+i); } }

.

.

return; }

void main() // 函数引用示例

{ float c[10]={0,4,2,4,3,2,4,-3,1.5,7.6},t; int m;

fun(c,10,&m,&t); // 若说明float *t; int *m;

printf(\"元素%f出现次数为%d\\n\引用为 fun(c,10,m,t) 将

} // 产生悬挂指针的错误,即t、m不只指向确定的存储单元。

17.编一个程序,打入月份号,输出该月的英文月名,要求用指针数组处理。 #include void main()

{ char *month_name[12]={\"January\ \"May\ \"Novenber\ int n;

printf(\"请输入月份号:\"); scanf(\"%d\

if(n<1||n>12) printf(\"月份号输入错误!\\n\");

else printf(\"%d月的英文表示是%s\\n\ }

18.编写递归函数,将输入的以“?”结束的字符串按与输入相反的顺序输出。 #include void pline() { char ch;

if((ch=getchar())!='?') { pline(); putchar(ch); } return; }

void main() // 函数引用示例 { pline(); printf(\"\\n\"); }

19. 编写函数,在n个元素的一维数组中,统计比相邻元素大的数组元素个数并将统计数返回(不考虑a[0]和a[n-1]),要求以指针变量而不是数组名作参数。 #include

int num(float *x,int n) { int i,k=0;

for(i=1;i*(x+i-1)&&*(x+i)>*(x+i+1)) k++; return k; }

void main() // 函数引用示例 { float a[10]={1,3,4,2,6,7,12,5,9,8};

.

.

printf(\"%d\\n\ }

20. 编写函数,在n个元素的一维数组中,找出最大值、最小值并传送到调用函数。

#include

void num(float *b,int n,float *max,float *min) { *max=*b; *min=*b;

for(int i=1;iif(*(b+i)>*max) *max=*(b+i); if(*(b+i)<*min) *min=*(b+i); }

return; }

void main() // 函数引用示例

{ float a[10]={1,3,4,2,6,7,12,5,9,8},x,y;

num(a,10,&x,&y); printf(\"最大值为%f,最小值为%f。\\n\ }

21. 编写一个函数,统计m行n列二维数组中有多少个正数、多少个负数,多少个零,并

返回统计结果。

#include

void sub(float** a,int m,int n,int *fs,int *lin,int *zs) { int i,j; *fs=*lin=*zs=0;

for(i=0;ielse if(*(*(a+i)+j)==0) (*lin)++; else (*zs)++; return; }

void main() // 函数引用示例

{ float b[5][3]={{-1,5,2},{3,0,-2},{0,-3,5}, {4,7,-8},{3,4,5}},*c[5]; int i,k1,k2,k3;

for(i=0;i<5;i++) c[i]=b[i]; sub(c,5,3,&k1,&k2,&k3); printf(\"负数%d个,零%d个,正数%d个。\\n\ }

22. 编写函数,在给定的一行以'.'结束的字符中,找出最长的单词并输出。 #include void find(char *str)

{ char *p1,*p2,*p3; int k1=0,k2=0; // k1为最长串的长度,初值为0。

.

.

p1=p2=p3=str; // p3指向最长串首字符,p1指向当前处理串首字符,

while(*p2!='.') // p2为移动指针,*p2为空格表示查找到单词尾部。

if(*p2!=' ') { k2++; p2++; }

else if(k2>k1) { p3=p1; p1=++p2; k1=k2; k2=0; } else { k2=0; p1=++p2; }

for(k2=0;k2<=k1;k2++) printf(\"%c\ printf(\"\\n\"); return; }

void main() // 函数引用示例 { char a[40]; int i=0;

while((a[i++]=getchar())!='.'); find(a); }

23. 编写函数print,打印一个学生的成绩数组,该数组中有若干个学生的数据记录,每个记录包括num,name,score[3]。 #include struct student {

char num[7],name[9];int score[3];

}; // 尾部分号不得遗漏

void print(struct student* s,int n)

{ int i; // 运算符'*'、'&'的优先级均低于运算符'.'

for(i=0;iprintf(\"%s %s %4d%4d%4d\\n\ (*(s+i)).score[0],(*(s+i)).score[1],(*(s+i)).score[2]); return; }

void main()

{ struct student t[4]; int i; for(i=0;i<4;i++)

scanf(\"%s%s%d%d%d\ &t[i].score[1],&t[i].score[2]); print(t,4); }

24. 把文本文件d1.dat复制到文本文件d2.dat中,要求仅复制d1.dat中的英文字符。

#include void main()

{ FILE *fpd1,*fpd2; char ch;

.

.

fpd1=fopen(\"d1.dat\ while(fscanf(fpd1,\"%c\

if(ch>='A'&&ch<='Z'||ch>='a'&&ch<='z') fprintf(fpd2,\"%c\ fclose(fpd1); fclose(fpd2); }

25. 编程,把文本文件d1.dat复制到d2.dat(其中空格字符不复制)。 #include void main()

{ FILE *fpd1,*fpd2; char ch;

fpd1=fopen(\"d1.dat\ while(fscanf(fpd1,\"%c\ if(ch!=' ') fprintf(fpd2,\"%c\ fclose(fpd1); fclose(fpd2); }

26. 编程,把文本文件d1.dat复制到d2.dat(其写英文字母要转换为小写字母)。 #include void main()

{ FILE *fpd1,*fpd2; char ch;

fpd1=fopen(\"d1.dat\ while(fscanf(fpd1,\"%c\ if(ch>='A'&&ch<='Z') ch=ch+32; fprintf(fpd2,\"%c\ }

fclose(fpd1); fclose(fpd2); }

27. 把文本文件d1.dat复制到文本文件d2.dat中,要求仅复制d1.dat中除英文字符和数字以外的其它容。 #include void main()

{ FILE *fpd1,*fpd2; char ch;

fpd1=fopen(\"d1.dat\ while(fscanf(fpd1,\"%c\

if(!(ch>='A'&&ch<='Z'||ch>='a'&&ch<='z'||ch>='0'&&ch<='9')) fprintf(fpd2,\"%c\ fclose(fpd1); fclose(fpd2); }

28. 求出1至100之间的素数(只能被1和自身整除的数)并顺序写入文件su.dat。

.

.

#include #include void main()

{ FILE *fp; int i,j,k=2;

fp=fopen(\"su.dat\ for(i=5;i<100;i=i+2) {

for(j=3;j<=sqrt(i);j=j+2) if(i%j==0) break; if(j>sqrt(i)) { fprintf(fp,\"%4d\

if(k%10==0) fprintf(fp,\"\\n\"); } }

fclose(fp); }

29.磁盘文件a1和a2,各自存放一个已按字母顺序排好的字符串,编程合并二个文件到a3

文件中,合并后仍保持字母顺序。 #include #include void main()

{ FILE *fp1,*fp2,*fp3; int i,j,k; char c1,c2; fp1=fopen(\"a1\

// 首先从文件a1、a2中各读入一个字符分别送入变量c1、c2,下面将作

// 循环比较,直到读到文件尾标志为止。

fp3=fopen(\"a3\ do {

if(c1// 若a1先读到文件尾,则将c2写入a3,再将a2中其它字符读入后写入a3;...

if(feof(fp1)) do {

fputc(c2,fp3); c2=fgetc(fp2); } while(!feof(fp2)) ; else do { fputc(c1,fp3); c1=fgetc(fp1); } while(!feof(fp1)) ;

fclose(fp1); fclose(fp2); fclose(fp3); }

30.顺序文件C.DAT每个记录包含学号(8位字符)和成绩(三位整数)两个数据项。从文件读入学生成绩,将大于或等于60分的学生成绩再形成一个新的文件SCORE60.DAT保存在A盘上,并显示出学生总人数、平均成绩和及格人数。 #include #include void main()

.

.

{ FILE *fp1,*fp2; char s[9]; int x,zrs=0,pjcj=0,jgrs=0; fp1=fopen(\"c.dat\ fscanf(fp1,\"%s%d\ do {

zrs++; pjcj+=x;

if(x>=60) { jgrs++; fprintf(fp2,\"%s %d\\n\ fscanf(fp1,\"%s%d\ } while(!feof(fp1));

printf(\"总人数:%d 平均成绩:%d 及格人数:%d\\n\

fclose(fp1); fclose(fp2);

}

31.程序清单: typedef int datatype; typedef struct node {datatype data; struct node *next; }linklist; ……

INVERT(linklist *head) {linklisk *p,*q; p=head->next; if(p!=NULL) {head->next=NULL; do

{q=p->next;

p->next=head->next;

.

.

head->next=p; p=q; }

while(p!=NULL); } }

32.程序清单: PURGE(linklist *head) {linklist *p,*q; q=head->next; if(q==NULL)return; p=q->next; while(p!=NULL) if(p->data==q->data) {q=p->next; free(p); p=q->next; } else {q=p; p=p->next; }

.

.

}

33、程序清单: #include main()

{static char x[]=”computer”; char *p;

for(p=x;p34、#include

#include main() {int m;

char str[80],str2[80]; printf(“input a string:\\n”); gets(str2);

printf(“intput m:\\n); scanf(“%d”,&m); if(strlen(str2)printf(“err input!\\n”); else

{copystr(str1,str2,m);

.

.

printf(“rsult is :%s\\n”,str1); } }

copystr(char *p1,char *p2,int m) {int n=0; while(nwhile(*p2!=’\\0’) {*p1=*p2;p1+=; p2++; }

*p1=’\\0’; }

35、程序清单:

float search(float (pointer)[4],int n) {float *pt; pt=*(pointer+n); return(pt); }

36、Main()

.

.

{int

score[][4]={{60,76,80,90},{45,86,57,90},{58,95,80,71},{78,50,60,85}}; int (*p)[4],j,k,flag; p=score; for(j=0,j<4;j++)

if(*(*(p+j)+k)<60)flag=1; if(flag==1)

{printf(“NO.%dis fail,svoreare:\\n”,j); for(k=0,;k<4;k++)

printf(“%5d”, *(*(p+j)+k); printf(“\\n”); } }

37、程序清单: main()

{int b[16],x,k,r,I;

printf(“enter a integer :\\n”): scanf(“%d”,&x);

printf(%6d’s binary number is:\\n”,x); k=-1; do {r=x%2;

.

.

k++; *(b+k; x/=2; }while(x!=0 for(I=k;I>=0;I--) printf(“%d”,*(b+i) printf(“\\n”); }

38、float p(int n,int x) {flaot t,t1,t2; if(n==0)return(1); else if(n==1) return(x); else

{t1=(2*n-1)*x*(p((n-1),x)); t2=(n-1)*p((n-2),x); t=(t1-t2)/n); return(t); }}

39、main()

{int a[5][5],I,j,k=0,m,n; m=n/2+1; for(I=0,I.

.

{for(j=I;j=I;j--) {k++;a[n-I-1][j]=k;} for(j=n-2-I;j>=I+1;j--) {k++;a[I][j];}} for(I=0;I40、#include main()

{int m[16],n,I,t,count=0; long a,k;

printf(“result is:\\n”); for(n=10;n<200;n++) {k=0; t=1;

.

.

a=n*n;

for(I=1;a!=0;I++) {m[I]=a%10; a/=10; }

for(;I>1;I--) {k+=m[I-1]*t; t=t*10; }

if(k==n*n)

printf(“%2d:%10d%10d\\n”,++count,n,N*n); }} 41、

void convert(char *a,int n) {int I; if((I=n/10)!=0) convert(a+1,i); *a=n%10+’0’; }

42、#include main() {FILE *fp;

.

.

char str[100],fikename[10]; int I=0;

if((fp=fopen(“upper.txt”,”w”))==NULL) {printf(“can not open file\\n”); exit(0); }

printf(“enter a string:\\n”); gets(str);

while(str[I]!=’!’)

{if(str[I]>=’a’&&str[I]<=’z’) str[I]=str[I]-32; fputc(str[I],fp); I++; }

fclose(fp); }

43、#include “stdio.h” FILE *fp; main()

{int p=0,n=0,z=0,temp;

fp=fopen(“number.dat”,”r”); if(fp==NULL)

.

.

printf(“file not found\\n”); else

{while(!feof(fp))

{fscanf(fp,”%d”,&temp); if(temp>0) p++; else if(temp<0) n++; else z++; }

fclose(fp);

printf(“posive:%3d,negtive:%3d,zero:%3d\\n:,p,n,z); } }

44、main()

{unsigned rightrot(unsigned a,int n) }

unsigned int m,b; int n;

printf(“enter mand n:”); scanf(%x,%d”,&m,&n); printf(“m=%x,n=%d\\n”,m,n); b=rightrot(m,n); printf(“b=%x\\n”,b);

.

.

unsigned rightrot(unsigned a,int n) {int rb; while(n0) {rb=(a&1)<<(16-1); a=a>>1; a=a|rb; }

return a; }

45、解:PX(X,N)=X-X2+X3-X4+……+(-1)N-1XN =X*(1- X-X2+X3-X4+……+(-1)N-1XN-1

=X*(1-PX(X,N-1) 程序清单:

double px(double x,int n) {if(n==1) return x; else

return(x*(1-px(x,n-1)); }

46、程序清单:

double opwer1(double x,int n) {if(n==0)

.

.

return 1; else

return(x*power1(x,n-1); }

47、Printfn(int n) {if(n=0&&n<=9) printf(“%d”,n); else

{printf(“%d”,x%10); printn(x/10); } }

48、程序清单: t(int n) {int m;

printf(“%d”,x%10); m=x/10; if(m>0) r(m); }

49、程序清单: int ack(int m,int n)

.

.

{if(m==0)

return (n+1); else if(n==0)

return(ack(m-1,1); else

return(ack(m-1,ack(m,n-1))); }

50、Void intobin(int x) {if(x/2>0) intobin(x/2); printf(“%d”,x%2); }

51、Void intobin(int x) {if(x/8>0) intobin(x/8); printf(“%d”,x%8); }

52、Void intobin(int x) { if(x/16>0) intobin(x/16);

printf(“%c”,(x%16>=9)?x%16+55:x%16+48); }

.

.

53、Main() {int x;

printf(“enter a number:\\n”); scanf(“%d”,&x); if(x!=0) {if(x>0) { x=x%2; if(x)

printf(“this number is a plus odd number\\n”); else

printf(“this number is a plus even number\\n”); } else { x=x%2; if(x)

printf(“this number is a plus odd number\\n”); else

printf(“this number is a plus even number\\n”); } else

printf(“this number is zero\\n”); }

.

.

、Main() {int x,y,max;

printf(“please input two number:\\n”); scanf(“%d,%d”,&x,&y); if(a>b)

max=a; else

max=b;

printf(“max=%d”,max); }

55、Main() {int j;

for(j=999;j>=100;j--) if(555555%j==0) break; printf(“%d”,j); }

56、Main()

{int I,count,j,sum; sum=count=0; for(I=0;I<10;I++)

{printf(“input ingter:\\n); scanf(“%d”,&j);

.

.

if(j<0) continue; count++; sum=sum+j; }

if(count)

printf(“plus number:%d,average value :%.2f”,count,1.0*sum/count); else

printf(“plus number:0,average value :0”); }

57、Main() {int year;

printf(“%d”,&year); if(year<0)

printf(“year is not a yaer\\n”): else

if((year%4==0&&year%100!=0)||year%400==0)

printf(“year is leap year!\\n”); else

printf(“year is not leap year!\\n”); }

58、main() {int n,j,k;

.

.

printf(“input n:\\n”); scanf(“%d”,&n); for(j=0;j59、main() {int n,I,j,k;

printf(“input n:\\n”); scanf(“%d”,&n); for(I=0;Ifor(j=0;j,n;j++) if(I<=j)

printf(“%3d”,k); else

printf(“%3d”,++k); printf(“\\n”);

.

.

} }

60、Main() { int I; float sum=1;

for(I=2;I<=1000;I++) sum=sum+1.0/I; printf(“%f”,sum); }

61、Mypower(float x,int n) {int I; float po=1; for(I=1,I<=n;I++) po=po*x;

printf(“%f”,po); }

62、Main() {int I,j,max; int a[3][4]={}; max=a[0][0]; for(I=0;I<3;I++) for(j=0;j<4;j++)

.

.

if(max63、#include

char *strcat(char *str1,char *str2) {}连接后字符串的头指针为str1。 #include

char *strcat(char *str1,char *str2) {char *str1;

while(*p!=’\\0’)p++; while(*p++=*str2++); return(str1); }

、#include char *revstr(char *s) {}

#include char *revstr(char *s) {char *p=s,c; while(*p) p++; p--; while(s.

.

{c=*s; *s++=*p++; *p--=c; } } 68、略 69、略

70、#include #include main()

{char str[80];

printf(“input a string :\\n”); gets(str); insert(str);

printf(“result is :%s”,str); }

insert (char *s) {int I;

for(I=strlen(s);I>0;I--) {*(s+2*I)=*(s+I); *(s+2*I-1)=’’; }

.

.

}

71、Main() {int x;

scanf(“%d”,&x); if(x%5==0&&x%7==0) printf(“yes”); else

printf(“no”); }

72、#include main()

{int day=0,buy=2; float sum=0,ave; do

{ sum=sum+buy*0.8; day++; buy=buy*2; }while(buy<=100);

ave=sum/day; printf(“%f”,ave); }

73、#include

.

.

main() {int I;

for(I=1;I<100;I++) if(I*I==I||I*I%100==I) printf(%3d”,I); }

74、#include main()

{char s[80]=””; int I,j;

for(I=j=0;s[I]!=’\\0’;I++) if(c[I]!=’c’)s[j++]=s[I]; s[j]=’\\0’; puts(s); }

79、main() { int a[10]; int i,j,m,f,h; int n,s;

for(i=0;i<10;i++) a[i]=0; a[9]=1;

.

.

printf(\"please input n:\\n\"); scanf(\"%d\ for(i=2;i<=n;i++) {m=0;

m=f*i/10+h; } else {

a[j]=a[j]+m; m=0; } } }

for(j=9;j>=0;j--) {if(!(a[j]==0)) { f=a[j];

h=(f*i%10+m)/10; a[j]=(f*i%10+m)%10;

i=0;

while(a[i]==0) i++;

.

.

printf(\"%d!= \ for(j=i;j<10;j++) printf(\"%d\ printf(\"\\n\"); }

80、#include #define N 100 main()

{int a,j,jinwei,temp; int num1[N],num2[N]; int i;

printf(\"PLEASE INPUT ONE NUMBER:\\n\"); i=2; while(1)

{scanf(\"%d\ if(a==-1) break; num1[i++]=a; }

num1[0]=i-1; i=2;

printf(\"PLEASE INPUT OTHER NUMBER:\\n\");

.

.

while(1) {scanf(\"%d\ if(a==-1) break; num2[i++]=a; }

num2[0]=i-1;

for(i=2;i<=num1[0];i++) printf(\"%d\ printf(\"+\");

for(i=2;i<=num2[0];i++) printf(\"%d\ printf(\"=\"); jinwei=0;

if(num1[0]>num2[0]) {j=num2[0];

for(i=num1[0];i>=2;i--) { if(j>=2) { temp=jinwei;

jinwei=(num1[i]+num2[j]+jinwei)/10; num1[i]=(num1[i]+num2[j]+temp)%10;

j--;

.

.

} else

{ temp=jinwei;

jinwei=(num1[i]+jinwei)/10; num1[i]=(num1[i]+temp)%10; } }

num1[1]=jinwei;

for(i=1;i<=num1[0];i++) printf(\"%d\ } else

{ j=num1[0];

for(i=num2[0];i>=2;i--) { if(j>=2) {temp=jinwei;

jinwei=(num1[j]+num2[i]+jinwei)/10; num2[i]=(num1[j]+num2[i]+temp)%10; j--; } else

.

.

{temp=jinwei;

jinwei=(num2[i]+jinwei)/10; num2[i]=(num2[i]+temp)%10; } }

num2[1]=jinwei;

for(i=1;i<=num2[0];i++) printf(\"%d\ } }

81、include #define N 10 main()

{int a,j,jinwei,temp; int num1[N],num2[N]; int ji[2*N]; int i; int k,k1,k2; int jinwei1,jiashu;

.

.

for(i=0;i<2*N;i++) ji[i]=0;

printf(\"PLEASE INPUT ONE NUMBER:\\n\"); i=1; while(1)

{scanf(\"%d\ if(a==-1) break; num1[i++]=a; }

num1[0]=i-1;

printf(\"PLEASE INPUT OTHER NUMBER:\\n\"); i=1; while(1)

{scanf(\"%d\ if(a==-1) break; num2[i++]=a; }

num2[0]=i-1; jinwei=0; k=2*N;

for(i=num1[0];i>=1;i--)

.

.

{k1=k; k--; k2=k; jinwei=0;

for(j=num2[0];j>=1;j--) { k1--;

jiashu=(num1[i]*num2[j]+jinwei)%10; jinwei=(num1[i]*num2[j]+jinwei)/10; jinwei1=0; k2=k1; while(1) } k1--; temp=jinwei;

jinwei=(temp+ji[k1])/10;

{temp=jinwei1;

jinwei1=(ji[k2]+jiashu+temp)/10; ji[k2]=(ji[k2]+temp+jiashu)%10; if(jinwei1==0) break; else {k2--;jiashu=0;} }

.

.

ji[k1]=(temp+ji[k1])%10; if(jinwei!=0) ji[--k1]= jinwei; }

printf(\"\\n\\n\"); for(i=1;i<=num1[0];i++) printf(\"%d\ printf(\"*\");

for(i=1;i<=num2[0];i++) printf(\"%d\ printf(\"=\"); for(i=k1;i<2*N;i++) printf(\"%d\ }

82、int count;

int perm(char as[],char tem1[],int k,int num,int curr,int m) { int i,t; if(curr==0) {if(num==0) {printf(\"{}\");

.

.

count++; } else { count++; printf(\"{\"); for(i=0;ifor(i=k;iperm(as,tem1,i+1,num+1,curr-1,m);

} } #define N 4 main() { char a[N]; char tem[N]; int i,n;

.

.

count=0;

printf(\"\\nPLEASE INPUT %d STRING:\\n\ for(i=0;i86、#define N 4 int count=0;

void pai(char a[],int k) {int i; char temp; if(k==N-1)

{printf(\"%s \ count++;

if(count%5==0) printf(\"\\n\");

.

.

} else

for(i=k;i{temp=a[i];a[i]=a[k];a[k]=temp; pai(a,k+1); } } main() { char a[N]; int i;

printf(\"please input %dstring:\\n\ scanf(\" %s\ pai(a,0);

printf(\"\\n%d\ }

.

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- azee.cn 版权所有 赣ICP备2024042794号-5

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务