习 题 7 7.1 已有变量定义和函数调用语句:int a=1,b=–5,c;c=fun(a,b);fun函数的作用是计算两个数之差的绝对值,并将差值返回调用函数,请编写fun函数。Fun(int x,int y){ }
7.1 求两数之差绝对值#include fun(int x,int y){ return abs(x-y); }main(){ int a=1,b=-5,c; c=fun(a,b); printf("|%d-%d|=%d\n",a,b,c);}
7.2 已有变量定义和函数调用语句:int x=57;isprime(x);函数isprime( );用来判断一个整型数a是否为素数,若是素数,函数返回1,否则返回0。请编写isprime函数。isprime(int a){ }
7.3 已有变量定义和函数调用语句int a ,b;b=sum(a);函数sum()用以求,和数作为函数值返回。若a的值为10,经函数sum的计算后,b的值是55。请编写sum函数。Sum(int n){ }7.3 求∑k#include sum(int n){ int k,s=0; for(k=1;k<=n;k++) s=s+k; return s;}main(){ int a,b; printf("Input a: "); scanf("%d",&a); b=sum(a); printf("%c(1,%d)=%d\n",228,a,b);}
7.4 一函数,输入一行字符,将此字符串中最长的单词输出。7.4 输出最长的单词,假设只包含字母和空格,单词间以空格分隔,空格个数不限#include void fun(char a[]){ int n,i,j,k=0,len[80],p; char c[80][80],max[80]; n=strlen(a); for(i=0;i
7.5 一函数,输入一个十六进制数,输出相应的十进制数。7.5 十六进制数转换成十进制数#include #include int fun(char a[]){ int i,n=0,m; for(i=0;a[i];i++) { if(isalpha(a[i])) /*如果a[i]是字母,求出相应的十进制数*/ switch(a[i]) { case 'a': case 'A': m=10; break;case 'b':case 'B': m=11; break;case 'c':case 'C': m=12; break; case 'd': case 'D': m=13; break; case 'e': case 'E': m=14; break; case 'f': case 'F': m=15; break; default: printf("Input error!\n"); exit(0); /*如果输入了不合法的字母,输出相应的信息*/ } else if(isdigit(a[i])) /*如果a[i]是数字*/ m=a[i]-'0'; else { printf("Input error!\n"); exit(0); } /*如