华农C语言程序设计实验 下载本文

该文档最终解释权由Yang所有,未经允许不得转载

#include main()

{ long m,n,t,i,s;

scanf(\t=m>n?n:m;

for (i=t-1;i>=1;i--)

{ if (m%i==0&&n%i==0) { s=i; break; } }

printf(\}

[题目1030:字符变换]

参考程序:

#include main() { char c;

while((c=getchar())!='\\n') { if(c>='A'&&c<='Z') c=c+32; putchar(c); } }

[题目1037:计算数列和] 参考程序:

#include main() { int i,t,n;

float a=2,b=1,s=0; scanf(\for(i=1;i<=n;i++) { s=s+a/b;

t=a;a=a+b;b=t; }

printf(\}

[题目1044:输出最小值] 参考程序:

#include \main()

{ int i,t,min;

scanf(\for(i=1;i<10;i++)

该文档最终解释权由Yang所有,未经允许不得转载

{

scanf(\if(t

printf(\}

*[题目1031:统计单词个数] 参考程序:

#include main()

{ int i,num=0,word=0; char c;

for(i=0;(c=getchar())!='\\n';i++) if(c==' ')word=0; else if(word==0) { word=1; num++; }

printf(\}

*[题目1042:百万富翁] 参考程序:

#include #include main() { int n,m,i;

scanf (\for (i=1;i<=38;i++)

if (0.01*(pow(2,i-1)-1)-i*m>=0) break; printf(\}

15

(1)进一步熟悉掌握用while语句、do-while语句和for 语句实现循环的方法。 [题目1028:求素数] 。

参考程序:

# include # include main() { int m,k,i;

for(m=2;m<=200;m++) { k=sqrt(m);

for(i=2;i<=k;i++) if(m%i==0) break;

该文档最终解释权由Yang所有,未经允许不得转载

if(i>k) printf(\} }

[题目1035:打印菱形] 参考程序:

#include \#include \main()

{ int n,i,j,k;

scanf(\for(i=1;i<=2*n+1;i++) { k=abs(n+1-i);

for(j=1;j<=k;j++) printf(\

for(j=1;j<=2*n+1-2*k;j++) printf(\printf(\} }

[题目1038:打印图案] 参考程序:

# include # include main()

{ int n,i,j,k,h; scanf(\

for(i=-n+1;i<=n-1;i++) { for(j=0;j

for(k=1;k<=n-abs(i);k++) printf(\for(h=n-abs(i)-1;h>=1;h--) printf(\printf(\} }

17

#include main() { int a[10]; int i;

for(i=0;i<10;i++) scanf(\for(i=9;i>=0;i--) printf(\}

[题目1040:统计不同数字个数] 参考程序:

#include\main()

该文档最终解释权由Yang所有,未经允许不得转载

{ int a[20]; int i,t,p=0;

for(i=0;i<20;i++) { scanf(\for(t=0;t

printf(\}

[题目1062:打印矩阵]

参考程序:

#include main()

{ int a[3][4],b[4][3],i,j; for(i=0;i<3;i++) for(j=0;j<4;j++)

{ scanf(\b[j][i]=a[i][j]; }

for(i=0;i<4;i++) { for(j=0;j<3;j++) printf(\printf(\} }

*[题目1047:冒泡排序] 参考程序:

#include main() { int a[10]; int i,j,t;

for(i=0;i<10;i++) scanf(\for(i=0;i<9;i++) { for(j=0;j<9-i;j++) if(a[j]>a[j+1])

{ t=a[j]; a[j]=a[j+1]; a[j+1]=t; } }

for(i=0;i<10;i++) printf(\}

该文档最终解释权由Yang所有,未经允许不得转载

*[题目1046:计算高精度加法] 参考程序:

#include \#include \main()

{ int a[100]={0},b[100]={0},c[100]={0}; char s[101];

int i=0,n1=0,n2=0,max=0,e=0; gets(s);

n1=strlen(s);

for(i=n1-1;i>=0;i--) a[n1-1-i]=s[i]-'0'; gets(s);

n2=strlen(s);

for(i=n2-1;i>=0;i--) b[n2-1-i]=s[i]-'0'; if(n1>n2) max=n1; else max=n2;

for(i=0;i<=max;i++) { c[i]=(a[i]+b[i]+e); e=(a[i]+b[i]+e)/10; }

if(c[max]>0) printf(\for(i=max-1;i>=0;i--) printf(\}

*[题目:找矩阵中的鞍点] 参考程序:

#include main()

{ int i,j,k,a[3][4],max,maxj,flag; for(i=0;i<3;i++) for(j=0;j<4;j++)

scanf(\for(i=0;i<3;i++) { max=a[i][0]; maxj=0;

for(j=0;j<4;j++) if(a[i][j]>max)

{max=a[i][j]; maxj=j; } flag=1;

for(k=0;k<3;k++) if(max>a[k][maxj]) { flag=0; break; } if(flag)

{printf(\