C语言课后作业答案 下载本文

scanf(\ scanf(\ scanf(\ st[i].sum=st[i].score[0]+st[i].score[1]+st[i].score[2]; } max=st[0].sum; for(i=1;i<2;i++) if(st[i].sum>max) max=st[i].sum; printf(\成绩成绩成绩 总成绩\\n\ for(i=0;i<3;i++) { if(st[i].sum==max) printf(\ } }

11——3

三个数的最小公倍数

#include /*因为是库,最好将双引号改成尖括号*/ int fun(int a,int b,int c)

{/*求3个参数中的最大值,前面最好加返回类型int*/ if(a>=b&&a>=c) return(a); else if(b>=a&&b>=c) return(b); else return(c); }

void main() {

/*加一个void,否则警告。不同编译器有不同处理*/ int a,b,c,i=1,j,k; scanf(\ k=fun(a,b,c);/*最大值是k*/ while(1) { j=k*i; if(j%a==0&&j%b==0&&j%c==0) break;/*j能被3个数整除*/ i++; }

printf(\是最小公倍数*/ return; }

一个字符串中字母的个数 #include

void main() { char str[100]; int i=0; int count=0; scanf(\ for(i=0;;i++) if(str[i]=='\\0') break; else { if(str[i]>'a'&&str[i]<'z'||str[i]>'A'&&str[i]<'Z') count++; } printf(\字母有%d个\ }

编写函数求字符串中字母,数字,空格,其他的个数 #include void main() {

char a[30];

void fun_char(char a[]); printf(\请输入字符串:\gets(a); fun_char(a); }

void fun_char(char a[]) {

int i,letter=0,digit=0,space=0,other=0; for(i=0;a[i]!='\\0';i++) { if((a[i]<='z'&&a[i]>='a')||(a[i]<='Z'&&a[i]>='A')) letter++; else if(a[i]<='9'&&a[i]>='0') digit++; else if(a[i]==' ')//或者else if(a[i]==32) space++; else other++; }

printf(\}

字母个数

#include void main()

{

char a[30];

void fun_char(char a[]); printf(\请输入字符串:\gets(a); fun_char(a); }

void fun_char(char a[]) {

int i,letter=0; for(i=0;a[i]!='\\0';i++) { if((a[i]<='z'&&a[i]>='a')||(a[i]<='Z'&&a[i]>='A')) letter++; } printf(\}

三个数的最大公约数和最小公倍数 #include int gb(int a,int b,int c); int gy(int a,int b,int c); { if(a>=b&&a>=c) return(a); else if(b>=a&&b>=c) return(b); else return(c); if(a<=b&&a<=c) return(a); else if(b<=a&&b<=c) return(b); else return(c); }

void main() {

int a,b,c,i=1,j,k; scanf(\ k=gb(a,b,c); while(1) { j=k*i;

if(j%a==0&&j%b==0&&j%c==0) break; i++; for(i=k;i>=1;i--) if(a%i==0&&b%i==0&&c%i==0) break; }

printf(\是最小公倍数*/ printf(\最大公约:%d\\n\ return; }

字符串字母个数 正确 #include void main() {

char str[30];

void letternum_char(char *str); printf(\请输入字符串:\gets(str);

letternum_char(str); }

void letternum_char(char *str) {

int i,letter=0; for(i=0;str[i]!='\\0';i++) { if((str[i]<='z'&&str[i]>='a')||(str[i]<='Z'&&str[i]>='A')) letter++; } printf(\} 正确

#include

int gy(int m,int n,int p) { int min,i,a[3]={m,n,p}; min=m; for(i=1;i<3;i++) { if(a[i]

if((m%k==0)&&(n%k==0)&&(p%k==0)) break; else k--; } return k; }

int gb(int m,int n,int p) { int max,i,a[3]={m,n,p}; max=m; for(i=1;i<3;i++) { if(a[i]>max) max=a[i]; } int k=max; while(1) { if((k%m==0)&&(k%n==0)&&(k%p==0)) break; else k++; } return k; }

int main(void) { int m,n,p,i,j; printf(\请输入三个整数:\ scanf(\ i=gy(m,n,p); j=gb(m,n,p); printf(\最大公约数为:%d\\n\ printf(\最小公约数为:%d\\n\}

编程计算1!+2!+3!+?+20! #include void main() { int n; float fac=1,sum=0; for (n=1;n<=20;n++) { fac=fac*n; sum=sum+fac; } printf(\