《C语言复习PPT_函数程序习题课》由会员分享,可在线阅读,更多相关《C语言复习PPT_函数程序习题课(9页珍藏版)》请在金锄头文库上搜索。
1、函数程序设计习题课函数程序设计习题课函数程序函数程序【1.】写一个判素数的函数,在主函数输入一个数,输出是否为素数的信息。写一个判素数的函数,在主函数输入一个数,输出是否为素数的信息。void main() int x ; scanf(%d,&x); if (susu(x)=x) printf(Yesn); else printf(Non);#include int susu(int a) int i=2 ; while (i=a-1) if (a%i=0) break ; i+ ; return (i);函数程序函数程序【2.】编写一个函数编写一个函数double avg(double A,
2、int n),函数的功能是求数组中函数的功能是求数组中n个元素的平均值。在主函数中输入个元素的平均值。在主函数中输入20个数据,调用函数输出平均值。个数据,调用函数输出平均值。#include double avg(double x,int n)int i; double m; m=0.0; for (i=0; in ; i+) m=m+xi; return m/n viod main() double a20; int i;printf(“enter 210 integer:n); for (i=0;i20;i+) scanf(%f“,&ai); printf(“max is %dn”,av
3、g(a,20); 函数程序函数程序【3.】编写一个编写一个scat 函数函数void scat(char s1,char s2),将两个字符串,将两个字符串s1和和s2 连接起来存放在连接起来存放在s1 中。中。#include #define N 100void scat(char s1,char s2)int i=0, j=0 ; while (s1i!=0) i+ ; while ( (s1i=s2j) != 0) i+ , j+ ;viod main() char s1N+N, s2N ; gets(s1); gets(s2); scat(s1,s2); puts(s1); puts(
4、s2);函数程序函数程序【4.】编写一个编写一个fun 函数:函数:long fun(char s),将一个数字字符串转换为一,将一个数字字符串转换为一个整数(不得调用标准库函数)。例如,若输人字符串个整数(不得调用标准库函数)。例如,若输人字符串1234,则函数,则函数把它转换为整数值把它转换为整数值1234。#include #define N 100viod main() long fun(char s); char s1N ; gets(s1); printf(number=%ldn,fun(s1);long fun(char s)int i=0 , j = 1 ; long l =
5、0 ; if (si=-) j = -1 ; i+ ; while (si!=0) l = l*10 + (si-0) ; i+ ; return (l*j);函数程序函数程序【5.】编写函数编写函数fun,函数的功能是:移动一维数组中的内容;若数组中有,函数的功能是:移动一维数组中的内容;若数组中有n 个整数,要求把下标从个整数,要求把下标从0 到到p(含(含p,p小干等于小干等于n1)的数组元素平移到)的数组元素平移到数组的最后。例如,一维数组中的原始内容为:数组的最后。例如,一维数组中的原始内容为:1,2,3,4,5,6, 7,8,9,10;p 的的值为值为3。移动后,一维数组中的内容应
6、为:。移动后,一维数组中的内容应为:5,6,7,8,9,10,1,2,3,4。#include #define N 100void fun(int aN,int n , int p)int bN ; int i , j , k ; for (i=0 ; i=p ; i+) bi = ai ; for (k=0 , j=i ; jn ; j+ ,k+)ak=aj ; for (i=k ; in ; i+)ai=bi-k viod main() int AN , n , i , p ; printf(input n:); scanf(%d,&n) ; printf(input array(%d):
7、,n); for (i=0 ; in ;i+) scanf(%d,&Ai); printf(input p:); scanf(%d , &p); fun(A,n,p); for (i=0 ; in ;i+) printf(%d ,Ai);函数程序函数程序【6】编写一个函数,可求编写一个函数,可求3 行行4 列整型数组中最大、最小元素值及它们列整型数组中最大、最小元素值及它们的位置;要求在的位置;要求在main中输入输出数组,并在中输入输出数组,并在main中输出所要求的数据;中输出所要求的数据;该整型数组为全局变量。该整型数组为全局变量。#include #define N 3#define
8、M 4int ANM ;int vmax , vmin , vmaxi, vmaxj , vmini, vminj ;void main()void fun(void); int i , j ; for (i=0; iN ; i+) for (j=0 ; jM ; j+) scanf(%d,&Aij); fun(); printf(A%d%d=%d is maxn,vmaxi,vmaxj,vmax); printf(A%d%d=%d is minn,vmini,vminj,vmin);函数程序函数程序void fun(void)int i , j ; vmax = vmin = A00 ; v
9、maxi = vmaxj = vmini = vminj = 0 ; for (i=0; iN ; i+) for (j=0 ; jM ; j+) if (vmaxAij) vmin = Aij ;vmini = i ;vminj = j ; 函数程序函数程序【7.】用用递归法将一个整数递归法将一个整数n转换成字符串。例如:输入转换成字符串。例如:输入483,应输出字符,应输出字符串串483。n 的位数不确定,可以是任意位数的整数。的位数不确定,可以是任意位数的整数。#include char str100;int k = 0 ;void fun(long a)if (a%10!=0) fun(a/10) ; strk+ = a%10+0 ; void main()long n ; scanf(%ld,&n); fun(n); strk = 0 ; printf(string is %sn,str);