1 、 a=45 , b=12 时,调用该函数后,
c=4152
*c=(a/10)*1000+(b/10)
*100+(a%10)*10+(b%10);
4 、a=45 , b=12 时,调用该函数后,
c=5142
*c=(a%10)*1000+(b/10)*
100+(a/10)*10+(b%10);
f
7、能被 7或 11 整除
在数组 a中
inti ;*n=0 ;
for(i=7 ; i<=m; i++)
if((i % 7 == 0) || (i % 11 == 0))
a[(*n)++]=i ;
2 、把分数最低的学生数据放进 b 数组
(注意:第 2套跟第 87 套交换)
inti, j = 0, min=a[0].s ;
for(i = 0 ; i< N; i++)
if(min > a[i].s)
for(i = 0 ; i< N; i++)
min = a[i].s ;
if(min == a[i].s) b[j++] = a[i] ;
return j ;
5 、计算 n 门课程的平均分 71.8
int i;
float ave=0.0;
for(i=0;i
='a'&&ss[i]<='z')
ss[i]-=32;
10 、将 s所指字符串中下标为偶数的字
符删除
inti, j= 0;
for(i=0;s[i]!=0;i++)
if(i%2==1)t[j++]=s[i];
t[j]=0;
11 、将 s所指字符串中 ASCII 值为偶数的
字符删除
inti, j=0 ;
for(i =0;i 10000) w %= 10000 ;
else if(w>1000) w %= 1000 ;
else if(w>100) w %= 100 ;
else if(w>10) w %=10 ;
return w ;
19 、除首、尾字符外 ,将其余 5 个字符
按 ASCII 码降序排列。
char ch ; int i, j ;
for(i =1;i='a'&&*p<='z')
pp[*p-'a']+=1;
p++;}
17 、字符串中的内容逆置
inti,len=strlen(s);
char t;
for(i=0;i=j)return s;
else return t;
9 、除下标偶数同时 ASCII 码值偶数之外其
余全部删除
inti,j=0;
for(i=0;s[i]!=0;i++)
if(i%2==0&&s[i]%2==0)
t[j++]=s[i];
t[j]=0;
12 、找出成绩最高学生纪录 (规定只有一
个最高分)
inti, max = a[0].s, j = 0;
for(i=1;itt[j][i])pp[i]=tt[j][i];
}
18 、从 s所指的字符串中删除给定的字符
char *p=s;
inti=0;
while(*p)
{
if(*p!=c)s[i++]=*p;
p++;
}
s[i]=0;
21 、将所有大于 1 小于整数 m 的非素数
存入 xx 所指数组中
intnum=0;
inti,j;
for(i=2;i30 、对 ln1+ln2+ … +lnm开平方根
double s = 0.0; inti;
for(i=1;i<=m;i++)s+=log(1.0*i);
return sqrt(s);
33 、只删除中间 * 号
int j=0;
char *q=a;
while(*q && q < h) a[j++] = *q++ ;
while(*h && *p && h < p) {
if(*h != '*') a[j++] = *h ;
h++;
}
while(*p) a[j++] = *p++ ;
a[j] = 0 ;
36 、求出学生的平均分 78.875
int i ;
for(i = 0 ; i < N ; i++)
a->ave = a->ave + a->s[i] ;
a->ave /= N ;
39 、返回指定学号的学生数据
inti;
STREC t = { ‘0’ , -1};
for(i=0;i
1e-6);
return x1;
31 、将字符串中的前导 * 号全部删除,
中间和尾部的 * 号不删除字符串
int j=0;char *p=a;
while(*p=='*')p++;
while(*p)
{a[j++]=*p; p++;}
a[j]=0 ;
34 、删除串中所有 *
int j =0 ;
char *p=a;
while(*p) {
if(*p != '*') a[j++]=*p ;
p++ ;
}
a[j]=0;
37 、低于平均分的学生数据放在 b 所指
数组中
inti ;
*n = 0 ;
for(i=0;inext; n++;}
2/2!+ …
return ave ;
40 、求出学生成绩平均分
STREC *p=h->next;
double av=0.0; int n=0;
while(p!=NULL)
{av=av+p->s;
av=av/n;
return av;
43 、计算当 x<0.97
Sn=1+0.5x+0.5*(0.5-1)x
int n=1;
double sum=1, xn=1;
while(fabs(xn)>=0.000001)
{
xn=xn*x*(0.5-n+1)/n;
n++;
sum=sum+xn;
}
return(sum);
46 、计算 Sn=1-1/2+1/3-
inti;
double sum=0.0;
for(i=1;i<=n;i++)
sum+=1.0/(2*i-1)-1.0/(2*i);
return sum;
49 、3 到 n 之间所有素数平方根之和
inti,j=0;
double s=0;
for (i=3; i<=n; i++)
{
if (i%j == 0) break;
for (j=2; j=
i) s=s+sqrt(i*1.0);
}
return s;
29 、求 Fibonacci 数列中大于 t 的最小的
一个数
int f0 = 0, f1 = 1, f ;
f = f0 + f1 ;
do {
f0 = f1 ;
f1 = f ;
} while(f < t) ;
return f ;
32 、除尾部 * 号,其余 * 删除
char *q=a;
int j=0;
while(*q && q52 、按分数的高低排列学生的记录,高
分在前
STREC tmp;intI,j;
for(i=0;i
score[i])
below[j++]=score[i];
return j;
76 、求出数组的最大元素及下标
intI,pos=0,max=*s;
for(i=1;i=eps)
{s+=xn;i++;xn=xn*i/(2.0*i+1);}
return (s*2.0);
59 、除了下标为奇数、 ASCII 值也为奇数
的字符之外,其余的所有字符都删除
intI,j=0;
for(i=0;s[i];i++)
57 、找出数组元素中最大的值和它所在的
下标
intI ;
*max=a[0];*d=0;
for(i=1;ia[i].s){j=I;min=a[i].s;}
*s=a[j];
65 、求出二维数组周边元素之和
int tot=0,I,j;
for(i=0;i=i)aa[k++]=I;}
return k;
if(strlen(a[i])>maxlen)
{maxlen=strlen(a[i]);k=I;}
*max=a[k];
void
71 、下标为奇数位置上的字母转换为大
写
char *p=ss;
inti=0;
while(*p)
{if((i%2)&&(*p>= ’a’&&*p<= ’z’))
*p-=32;
p++; i++;}
74 、能整除形参 x 且不是偶数的各整数 ,
按从小到大的顺序放在 pp 数组
intI;
*n=0;
for(i=1;i<=x;i++)
if((x%i==0)&&(i%2))
pp[(*n)++]=I;
77 、求 P 的值
P=m!/(n!*(n-m)!)
long jc(int m)
{long s=1;int I;
for(i=1;i<=m;i++)s=s*I;
return s;}
float fun(intm,int n)
{float p;
p=1.0*jc(m)/jc(n)/jc(m-n);
return p;
}
第 3 页 /共 4 页
72 、组数 5241
*c=(a%10)*1000+(b%10)
*100+(a/10)*10+(b/10);
75 、将大于形参 m 且紧靠 m 的 k 个素数
存入 xx 所指的数组中。
while(j79 、求 S
S=1/1 ×2+1/2 ×3+...+1/n(n+1)
double s=0.0;
inti;
for(i=1;i<=n;i++)
s=s+1.0/(i*(i+1));
return s;
82 、除了字符串前导的 * 号之外 ,将串中
其它 * 号全部删除 ,非 * 号字符前移
if(a[i]!='*') a[k++]=a[i];
i++;
85 、将字符串中的前导 * 号全部移到字
符串的尾部
向前复制字符串
while(*p){*q++=*p++;}
88 、组数 2415
*c = (b%10)*1000+(a/10)
*100+(b/10)*10+a%10;
91 、判断字符串是否为回文 ?
inti,j=strlen(str);
for(i=0;it)b[(*n)++]=a[i];
return t;
89 、把指定分数范围内的学生数据放在 b
数组中
inti,j=0;
for(i=0;i=l&&a[i].s<=h)
b[j++]=a[i];
return j;
92 、将二维数组中的数据 ,按行的顺序依
次放到一维数组中
inti,j,k;
for(i=0;is;
STREC *p;
p=h->next;
while(p)
{ if(p->s>max) max=p->s;
p=p->next;
}
return max;
93 、二维数组按列顺序放到一维数组
inti,j,np=0;
for(i = 0 ; i='0'&& s[i]<='9')n++;
n;
104 、将一个数字字符 234510, 转换对应
的长整型整数 234510
inti,n; long t=0;
n=strlen(s);
for(i=0;imax)max=a[i];
if(a[i]