{
int p,r,n,m,temp;
printf(\请输入两个正整数n,m:\ scanf(\ if (n temp=n; n=m; m=temp; } p=n*m; while(m!=0) { r=n%m; n=m; m=r; } printf(\它们的最大公约数为:%d\\n\ printf(\它们的最小公约数为:%d\\n\ return 0; } 5-4 #include char c; int letters=0,space=0,digit=0,other=0; printf(\请输入一行字符:\\n\ while((c=getchar())!='\\n') { if (c>='a' && c<='z' || c>='A' && c<='Z') letters++; else if (c==' ') space++; else if (c>='0' && c<='9') digit++; else other++; } printf(\字母数:%d\\n空格数:%d\\n数字数:%d\\n其它字符数:%d\\n\ return 0; } 5-5 #include int a,n,i=1,sn=0,tn=0; printf(\ scanf(\ while (i<=n) { tn=tn+a; /*赋值后的tn为i个 a组成数的值*/ sn=sn+tn; /*赋值后的sn为多项式前i项之和*/ a=a*10; ++i; } printf(\ return 0; } 5-6 #include {double s=0,t=1; int n; for (n=1;n<=20;n++) { t=t*n; s=s+t; } printf(\ return 0; } 5-7 #include int n1=100,n2=50,n3=10; double k,s1=0,s2=0,s3=0; for (k=1;k<=n1;k++) /*计算1到100的和*/ {s1=s1+k;} for (k=1;k<=n2;k++) /*计算1到50各数的平方和*/ {s2=s2+k*k;} for (k=1;k<=n3;k++) /*计算1到10的各倒数和*/ {s3=s3+1/k;} printf(\ return 0; } 5-8 #include int i,j,k,n; printf(\ for (n=100;n<1000;n++) { i=n/100; j=n/10-i*10; k=n; if (n==i*i*i + j*j*j + k*k*k) printf(\ } printf(\ return 0; } 5-9-1 #define M 1000 /*定义寻找范围*/ #include int k1,k2,k3,k4,k5,k6,k7,k8,k9,k10; int i,a,n,s; for (a=2;a<=M;a++) /* a是2-1000之间的整数,检查它是否完数 */ {n=0; /* n用来累计a的因子的个数 */