好文档 - 专业文书写作范文服务资料分享网站

C语言编程100题

天下 分享 时间: 加入收藏 我要投稿 点赞

43 编写一个函数,从传入的num个字符串中找出最长的一个字符串,传回该串地址(用****作为结束出入的标志) char*fun(char(*a)[81],int num) {

int i; char*max; max=a[0];

for(i=0; i

if(strlen(max)

max=a[i]; return max;

}

44 该函数可以统计一个长度为2的字符串在另一个字符串中出现的次数

int fun(char*str,char*substr) {

int n; char*p,*r; n=0; while(*str) {

p=str; r=substr; while(*r)

if(*r==*p) {

r++;

p++; } else

break; if(*r=='\\0')

n++; str++;

} return n; }

45 只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。形参n给出了字符串的长度,形参h给出了字符串前导*号的个数,形参e给出了字符串中最后*号的个数。 void fun(char*a,int n,int h,int e) {

int i=0; char*p;

for(p=a+h; p

*(a+i)=*p; i++; }

*(a+i)='\\0'; }

46 学生的纪录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组S中。请编写函数fan,它的功能是:按分数高低排列学生的纪录,高分在前。

void fun(STREC a[]) {

int i,j; STREC t;

for(i=0; i

for(j=i; j

if(a[i].s

t=a[i]; a[i]=a[j]; a[j]=t; }

}

47 编写一个函数void fun(char **ss),功能:将字符串ss中所有下标为奇数位置上的字母转换为大写 void fun(char*ss) {

int i,n=0; char*p=ss; while(*p) {

n++; p++; }

for(i=0; i

if((ss[i]>='a'&&ss[i]<='z')&&i%2!=0)

ss[i]=ss[i]-32;

ss[i]='\\0';

}

48 将两个两位数的正整数a﹑b合并形成一个整数放在c中。合并方式是:将a数的十位和个位数依次放在c数千位和十位上,b数的十位和个位数依次放在c数百位和个位上。 void fun(int a,int b,long*c) {

*c=(a/10)*1000+(b/10)*100+(a)*10+b; }

49 将s所指字符串中下标为偶数同时ASCII值为奇数的字符删除,s中剩余的字符形成新串放在t所指的数组中 void fun(char*s,char t[]) {

int i,j=0,n=strlen(s); for(i=0; i

if(i%2==0&&s[i]%2!=0); else {

t[j]=s[i]; j++; } t[j]='\\0';

}

50 已知学生的记录由学号和成绩构成,N名学生的数据已存入a结构体数组中。请编写函数fun,该函数的功能是:找出成绩最高的学生记录,通过形参返回主函数(规定只有一个最高分)。已给出函数

的首部,请完成该函数。 void fun(STU a[],STU*s) {

int i,max; max=a[0].s; for(i=0; i

if(a[i].s>max) {

max=a[i].s; *s=a[i]; }

}

51 请编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k传回.例如,若输入17,则应输出:9和4 6 8 9 10 12 14 15 16

void fun(int m,int*k,int xx[]) {

int i,j; int t=0;

for(i=2; i

j=2; while(j

if(i%j==0)

9c6dv0nzw90weks4q8jb3z01x0bvw200n4v
领取福利

微信扫码领取福利

微信扫码分享