int longest(char str[]); int i;
char str[80];
printf(\输入一行字符串\\n\\n\ gets(str);
printf(\最长的单词为:\\n\\n\ for(i=longest(str);word(str[i]);i++) printf(\ printf(\}
int word(char c) {
if((c>='a'&&c<='z')||(c>='A'&&c<='Z')) return 1; else return 0; }
int longest(char str[]) {
int i,flag=1,len=0,point,max_len=0,max_point; for(i=0;i<=strlen(str);i++) {
if(word(str[i])) {
if(flag==1) {
point=i; flag=0; }
else len++; } else {
flag=1;
if(len>max_len) {
max_len=len; max_point=point; }
len=0; } }
return (max_point); }
8-11
#include
char str[80];
void sort(char str[]);
printf(\输入一个字符串\\n\\n\ gets(str); sort(str);
printf(\字符由小到大排序为:\\n\\n\ puts(str); }
void sort(char str[]) {
int i,j;
char temp;
for(i=0;i for(j=0;j if(str[j]>str[j+1]) { temp=str[j]; str[j]=str[j+1]; str[j+1]=temp; } } } } 8-12 #include int a,b,c,d; float root(int a,int b,int c,int d); printf(\输入a,b,c,d\\n\\n\ scanf(\ printf(\在1附近的根为:%f\\n\\n\} float root(int a,int b,int c,int d) { float x=1,x1,f,f1; do { x1=x; f=((a*x1+b)*x1+c)*x1+d; f1=(a*x1+b)*x1+c; x=x1-f/f1; }while(fabs(x-x1)>=1e-5); return(x); } 8-13 #include float p(int,float); int n; float x; printf(\输入n和x\\n\\n\ scanf(\ printf(\阶勒德让多项式的值为:%f\\n\\n\} float p(int n,float x) { if(n==0) return 1; else if(n==1) return x; else return ((2*n-1)*x-p(n-1,x)-(n-1)*p(n-2,x))/n; } 8-14 #include float a_stu[n1],a_cou[n2]; void main() { void input(float a[][n2]); void stu_aver(float a[][n2]); void cou_aver(float a[][n2]); int hightest(int *s,int *c,float a[][n2]); float d(float a[][n2]); int i,j,s=0,c=0; float score[n1][n2],h; input(score); stu_aver(score); cou_aver(score); printf(\序号 课程 1 2 3 4 5 平均成绩\\n\\n\ for(i=0;i printf(\NO.%d \ for(j=0;j printf(\ } printf(\ } printf(\课程平均\ for(i=0;i printf(\ } h=hightest(&s,&c,score); printf(\最高成绩为:%f 是第%d号学生,第%d门课的成绩\\n\\n\ printf(\平均方差为:%f\\n\\n\} void input(float a[][n2]) { int i,j; for(i=0;i printf(\输入%d个学生的5个成绩\\n\\n\ for(j=0;j scanf(\ } } } void stu_aver(float a[][n2]) { int i,j; float s; for(i=0;i for(j=0;j s+=a[i][j]; } a_stu[i]=s/n2; } } void cou_aver(float a[][n2]) { int i,j; float s; for(i=0;i for(j=0;j s+=a[j][i]; } a_cou[i]=s/n1; } } int hightest(int *s,int *c,float a[][n2]) { float hightest=0; int i,j; for(i=0;i for(j=0;j if(a[i][j]>hightest) { hightest=a[i][j]; *s=i+1; *c=j+1; } } } return(hightest); } float d(float a[][n2]) { int i; float x=0,y=0; for(i=0;i x+=a_stu[i]*a_stu[i]; y+=a_stu[i];