程序题—将小写字母转换为大写字母(共7页).doc
精选优质文档-倾情为你奉上./*将小写字母转换为大写字母。例如:C Language,转换为C LANGUAGE。*/#include <stdio.h>void change(char s) int i;for(i=1;i<=20;i+) if(si>='a'&&si<='z') si=si-32; main() void CHECK(); char str20="C Language" clrscr(); change(str); printf("%sn",str); CHECK();./*求出数组arr中的最大数,并把最大数和arr0中的数进行交换。*/#include <stdio.h>#define N 20/*Fill in the blanks*/void swap(int _a_,int n) int k, m, t ; m=0;/*Fill in the blanks*/ for(k=0;k<n;_k+_) if(ak>am) m=k; t=a0;/*Fill in the blanks*/ a0=_am_; am=t;main( ) int i,n=10,arrN=0,5,12,10,23,6,9,7,10,8; printf("n交换前:"); for(i=0;i<n;i+) printf("%4d",arri); swap(arr,n); printf("n交换后:"); for(i=0;i<n;i+) printf("%4d", arri); printf("n");/*计算 1 1 1 1 1 1 - - + - - - + - - . - 2 3 4 5 n例如,n=100时,运算结果为:0.。*/#include <stdio.h>float count(int n) 答案:float i,sign=1; float sum=0; for(i=1;i<=100;i+) sum=sum+sign/i; sign=(-1)*sign; return(sum);./*计算n!。例如,给n输入5,则输出5!=120。*/#include <stdio.h>long count(int n) 答案: int i,sum=1; for(i=1;i<=n;i+) sum=sum*i; return (sum);main() void CHECK(); int n; clrscr(); printf("Input N:"); scanf("%d", &n); printf("%d! =% ldn",n,count(n); CHECK();/*计算N×N的二维数组的所有数组元素的平均值。 例如:a 数组中的值为 |0 1 2 7 9| |1 9 7 4 5| a = |2 3 8 3 1| |4 5 6 8 2| |5 9 1 4 1|则平均值为: 4.。*/#include <stdio.h>#define N 5float count(int aNN) 答案:int i,j;float sum=0,aver; for(i=0;i<5;i+) for(j=0;j<5;j+) aver=sum/(N*N) return(aver);main() void CHECK();/*计算两个双精度数的和的平方根。例如,若输入:23.18,32.4721,则输出:z=7.。*/#include <math.h>/*Error*/double count(double a,b)->double b double c;/*Error*/ c=sqr(a+b);->c=sqrt(a+b); return c;main() double x,y,z; printf("Enter x,y:"); scanf("%lf,%lf",&x,&y); z=count(x,y); printf ("z=%fn",z);/*将 1 到 n 之间,能同时被 7 和 11 整除的整数存储到形参数组a中,并返回这些整数的个数。例如:当 n = 1000 时,程序输出:77 154 231 308 385 462 539 */#include <stdio.h>int fun(int a,int n)int i,j=0;if(i%3=0&&i%7=0);for(i=1;i<=n;i+);j+;return(j);main() void CHECK(); int arr20,i,k,n; clrscr(); n=1000; k=fun(arr,n); for(i=0;i<k;i+) printf("%4d",arri); CHECK();/*将每个英语单词的第一个字母改成大写(这里的“单词”是指由空格隔开的字符串)。例如,若输入:I am a student to take the examination.,则应输出:I Am A Student To Take TheExamination.。*/#include <stdio.h>/*Error*/void change(s) ->(char s) int i,k; k=0;/*Error*/ for(i=0;si!='0'i+) ,-> if(k) if(si=' ') k=0; else if(si!=' ') k=1; si=toupper(si); /*将一个二维数组a的行和列元素互换,存到另一个二维数组b中。*/#include <stdio.h>void trans(int a23,int b32)/* 本函数将二维数组a的行和列元素互换,存到二维数组b中 */*Error*/int i,j; (已改过) for(i=0;i<2;i+) for(j=0;j<3;j+) /*Error*/ bji=aij;main() int a23=1,2,3,4,5,6,b32,i,j; printf("数组a:n"); for(i=0;i<2;i+) for(j=0;j<3;j+) printf("%5d",aij); printf("n"); trans(a,b);/*将字符串s中的内容按逆序重新存储。例如,若字符串s中的内容为abcd,则应将字符串s中的内容变为:dcba*/#include <stdio.h>void invert(char str,int n)int i;char t;for(i=0;i<n/2;i+)t=stri;stri=strn-1-i;strn-1-i=t;main() void CHECK(); char s10="abcd" int n=4; clrscr(); printf("处理前字符串=%sn", s); invert(s,n); printf("处理后字符串=%sn", s); CHECK();/*求班级学生考试成绩的平均值。*/#include <stdio.h>float average(float array,int n) int i; float aver,sum=array0;/*Fill in the blanks*/ for(i=1;i<n;_-i+_) sum=sum+arrayi;/*Fill in the blanks*/ aver=sum/n_;/*Fill in the blanks*/ return (_aver_);/*求出以下分数序列的前n项之和。 2 3 5 , , 1 2 3 例如,若n = 5,则应输出:8.。*/#include <stdio.h>/*Fill in the blanks*/_float_ sum(int n) int a,b,c,k; double s;/*Fill in the blanks*/ s=_0_; a=2; b=1; for(k=1;k<=n;k+) s=s+(double)a/b; c=a;/*Fill in the blanks*/ a=_a+b_; b=c; return s;/*求二维数组a33中各列元素的平均值,并依次存储在一维数组b3中。*/#include <stdio.h>void fun(int a33,float b3) int i,j; for(i=0;i<3;i+) for(j=0;j<3;j+)/*Error*/ bi+=aji; for(i=0;i<3;i+)/*Error*/ bi/=3;main() int a33=1,2,3,4,5,6,7,8,9,i; float b3=0,0,0; fun(a,b); for(i=0;i<3;i+) printf("%4.1f ",bi); printf("n") ;/*求二维数组a33中各列元素的最大值,并依次存储在一维数组b3中。*/#include <stdio.h>void fun(int a33,int b3) int i,j; for(i=0;i<3;i+)/*Error*/ bi=ai; for(j=1;j<3;j+) if(bi<aji)/*Error*/ bi=ai; main() int a33=11,-2,43,-4,5,0,17,68,19,b3,i; fun(a,b); for(i=0;i<3;i+) printf("%5d",bi); printf("n") ;/*求二维数组a33中各列元素的最大值并依次存储在一维数组b3中。*/#include <stdio.h>void fun(int a33,int b3) int i,j; for(i=0;i<3;i+)/*Error*/ bi=a0_i; for(j=1;j<3;j+) if(bi<aji)/*Error*/ bi=aj_i; main() int a33=11,-2,43,-4,5,0,17,68,19,b3,i; fun(a,b); for(i=0;i<3;i+) printf("%5d",bi); printf("n") ;/*求菲玻那契数列的前20项。菲玻那契数列前2项分别是1,1,从第3项开始,各项分别是其前2项之和。*/#include <stdio.h>void fibonacci(int f) int i;/*Fill in the blanks*/ for(i=2;i<20;_i+_)/*Fill in the blanks*/ fi=_fi-1+fi-2_;main() int f20=1,1,i; fibonacci(f); printf("n菲玻那契数列的前20项为: "); for(i=0;i<20;i+) if(i%5=0) printf("n");/*Fill in the blanks*/ printf("%12d",_fi_); /*求广义菲玻那契数列的第n项。广义菲玻那契数列前3项分别是1,1,1,从第4项开始,各项分别是其前3项之和。广义菲玻那契级数的前n项为:1,1,1,3,5,9,17,31, 。例如,若 n = 20,则应输出广义菲玻那契级数的第20项为: 46499。*/#include <stdio.h>long fibonacci(int n) long a=1,b=1,c=1,d; int i;/*Fill in the blanks*/ for(i=4;i<=n;i+_) /*Fill in the blanks*/ d=a+b+c_; a=b; b=c; c=d; /*Fill in the blanks*/ return _d_;/*输出M行M列整数方阵,并计算主对角线上各元素之和。*/#include <stdio.h>#define M 5/*Fill in the blanks*/int count(int n,int_a_) int i,sum=0; for(i=0;i<n;i+) sum += aii;/*Fill in the blanks*/ return(_sum_);main( ) int arrMM=1,2,3,4,5,4,3,2,1,0,6,7,8,9,0,9,8,7,6,5,3,4,5,6,7; int i,j; printf("n%d×%d 数组元素为:n",M,M); for(i=0;i<M;i+ ) for(j=0;j<M;j+ )/*Fill in the blanks*/ printf("%4d",_arrij_); printf("n"); printf ( "主对角线上各元素之和为: %d",count(M,arr);/*输入一个字符串(不超过80个字符),按逆序存放。*/#include <stdio.h>/*Error*/void inverse(str) ->char str int i,j; char t; for(i=0,j=strlen(str);i<strlen(str)/2;i+,j-) t=stri;/*Error*/ stri=strj-1; ->strj-1 strj-1=t; main() char str80; int i=0; printf("n请输入一个字符串:"); while(stri=getchar()!='n') i+; stri='0' inverse(str); printf("此字符串的逆序为:%s",str);/*输入一行字符,统计其中大写字母、小写字母、空格、数字及其它字符个数。*/#include <stdio.h>int upper,lower,digit,space,other;/*Error*/count(char str)->+int str int i=0; while(stri!='n') if(stri>='A')&&(stri<='Z') upper+; else if(stri>='a')&&(stri<='z') lower+;/*Error*/ else if(stri=' ') = ->= space+; else if(stri>='0')&&(stri<='9') digit+; else other+; i+; 计算1到n.int i;long sum=0;for(i=1;i<=1800;i+);if(i%3=0&&i%7=0);sum=sum+i;return(sum);统计字符串substr在字符串str中出现的次数。 i+ ='0' num有一个3*4德望矩阵,求所有元素的最小值。j+ min=arrayij return(min)计算两个双精度的和的平方根。 b->double b c=sqr(a+b);->c=sqrt(a+b);/*应用冒泡排序算法,对数组a中的元素从小到大进行排序。*/#include <stdio.h>void sort(int a,int n) int i,j,t; for(j=0;j<n-1;j+) for(i=0;i<n-1-j;i+) if(ai>ai+1) t=ai;/*Error*/ 改过 ai=ai+1;/*Error*/ ai+1=t; main() int k,a10=6,-9,78,23,-12,0,9,8,-3,12; printf("数组a:n"); for(k=0;k<10;k+) printf("%d ",ak); sort(a,10); printf("n从小到大排序:n"); for(k=0;k<10;k+) printf("%d ",ak); printf("n");/*有一个3×4的矩阵,求所有元素中的最小值。*/#include <stdio.h>min_value(int array4) int i,j,min; min=array00; for(i=0;i<3;i+)/*Fill in the blanks*/ for(j=0;j<4;_j+_) if(arrayij<min)/*Fill in the blanks*/ min=arrayij_;/*Fill in the blanks*/ return(_min_);main() int a34=-11,23,15,37,29,48,6,-8,15,17,34,12; printf("矩阵中所有元素的最小值 %dn",min_value(a);/*在sum函数中,根据整型形参m,计算如下公式的值。 1 1 1 y = - + - + + - 100*100 200*200 m*m 例如,若形参 m = 2000,则程序输出:The result is: 0.。*/#include <stdio.h>/*Fill in the blanks*/_double_ sum(int m) int i; double y,d;/*Fill in the blanks*/ y=_0_; for(i=100;i<=m;i+=100) d = (double)i * (double)i ; y += 1.0/d; /*Fill in the blanks*/ return(_y_);专心-专注-专业