c语言基础题编程,C语言必备基础三十题,让你的编程能力上一个档次,适合新手练手的C语言编程题...

请编写一个函数 void fun(int tt[m][n],int pp[n]),tt 指向一

个 m 行 n 列的二维函数组,求出二维函数组每列中最小元素,并依次放入 pp 所

指定一维数组中。二维数组中的数已在主函数中赋予。

答案:

void fun(int tt[M][N], int pp[N])

{

int I,j,min;

for(j=0;j<N;j++)

{

min=tt[0][j];

for(i=0;i<M;i++)

{

if (tt[i][j]<min)

min=tt[i][j];

}

pp[j]=min;

}

}

请别写函数 fun,函数的功能使求出二维数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。

答案:

int fun(int a[M][N])

{

int I,j,s=0;

for(j=0;j<N;j++)

{

s+=a[0][j];

s+=a[M-1][j];

}

for(i=1;i<=M-2;i++)

{

s+=a[i][0];

s+=a[i][N-1];

}

return s;

}

请编写一个函数 float fun(double h),函数的功能使对变量 h 中的值保留 2 位小树,并对第三位进行四舍五入(规定 h 中的值位正数)。

答案:

float fun(float h)

{

long t;

float s;

h=h*1000;

t=(h+5)/10;

s=(float)t/100.0;

return s;

}

请编写一个函数 fun(char *s),该函数的功能使把字符串中的内

容拟置。

答案:

void fun(char *s)

{

char ch;

int I,m,n;

i=0;

m=n=strlen(s)-1;

while(i<(n+1)/2)

{

ch=s[i];

s[i]=s[m];

s[m]=ch;

i++;

m–;

}

}

编写程序,实现矩阵(3 行 3 列)的转置(即行列互换)。

答案:

void fun(int array[3][3])

{

int I,j,temp;

for(i=0;i<3;i++)

for(j=0;j<I,j++) {

temp=array[i][j];

array[i][j]=array[j][i];

array[j][i]=temp;

}

}

编写函数 fun,该函数的功能是:从字符中删除指定的字符,同一

字母的大、小写按不同字符处理。

答案:

void fun(char s[],int c)

{

int i=0;

char *p;

p=s;

while(*p)

{

if(*p!=c)

{

s[i]=*p;

i++;

}

p++;

}

s[i]=‘\0’;

}

编写函数 int fun(int lim,int aa[max]),该函数的功能是求出小

于或等于 lim 的所有素数并放在 aa 数组中,该函数返回所求的素数的个数。

答案:

int fun(int lim, int aa[MAX])

{

int k=0,I,j;

for(i=lim;i>1;i–)

{

for(j=2;j<i;j++)

if(i%j==0)

break;

else continue;

if(j>=i)

{

aa[k]=i;

k++;

}

}

return k++;

}

n 名学生的成绩已在主函数中放入一个带头节点的链表结构中,h

指向链表的头节点。请编写函数 fun,它的功能是:找出学生的最高分,由函数

值返回。

答案:

double fun(STREC *h)

{

double max;

STREC *q=h;

max=h->s;

do

{

if(q->s>max) max=q->s;

q=q->next;

}

while(q!=0);

return max;

}

请编写一个函数 fun,它的功能是:将一个字符串转换为一个整数

(不得调用 c 语言提供的将字符串转换为整数的函数)。

答案:

long fun (char p)

{

long s=0,t;

int i=0,j,n=strlen§,k,s1;

if(p[0]==‘-’)

i++; for(j=I;j<=n-1;j++)

{

t=p[j]-‘0’;

s1=10;

for(k=j;k<n-1;k++)

t=s1;

s+=t;

}

if(p[0]==‘-’)

return –s;

else

return s;

}

请编写一个函数 fun,它的功能是:求除 1 到 m 之内(含 m)能北 7

或 11 整除的所有整数放在数组 a 中,通过 n 返回这些数的个数。

答案:

void fun(int m, int *a, int *n)

{

int I,j=0; *n=0;

for(i=1;i<=m;i++)

if (i%7==0 || i%11 ==0)

{

a[j]=I;

j++;

}

*n=j;

}

请编写一个函数 fun,它的功能是:将 ss 所指字符串中所有下标

为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。

答案:

void fun(char *ss)

{

int I,n;

n=strlen(ss);

for(i=1;i<n;i+=2)

if(ss[i]>=‘a’&& ss[i]<=‘z’)

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

}

请编写一个函数 fun,它的功能是:求除一个 2×m 整型二维数组

中最大元素的值,并将此值返回调用函数。

答案:

int fun(int a[][M])

{

int I,j,max;

max=a[0][0];

for(i=0;i<2;i++)

for(j=0;j<M;j++)

if(a[i][j]>max)

max=a[i][j]; return max;

}

请编写一个函数,用来删除字符串中的所有空格。

答案:

void fun(char *str)

{

int i=0;

char *p=str;

while (*p)

{

if(*p!=‘’)

{

str[i]=*p;

i++;

}

p++;

}

str[i]=‘\0’;

}

假定输入的字符串中只包含字母和号。请编写函数 fun,它的功

能是:将字符串中的前导号全部移到字符串的尾部。

答案:

void fun(char *a)

{

int i=0,n=0;

char *p;

p=a;

while (p==‘’)

{ n++;

p++;

}

while (*p)

{

a[i]=p;

i++;

p++;

}

while(n!=0)

{

a[i]=‘’;

i++;

n–;

}

a[i]=‘\0’;

}

请编写函数 fun,它的功能是:求出 ss 所指字符串中指定字符的

个数,并返回此值。

答案:

int fun(char *ss, char c)

{

int n=0;

while (*ss) {

if(*ss==c)

n++;

ss++;

}

return n;

}

请编写函数 fun,该函数的功能是移动字符串中内容,移动的规则

如下:把第 1 到第 m 个字符,平移到字符串的最后,把第 m+1 到最后的字符移

到字符串的前部。

答案:

void fun(char *w,int m)

{

char b[N];

int I,j=0;

for(i=0;i<m;i++)

{

b[j]=w[i];

j++; }

for (i=0;i<strlen(w)-m;i++)

w[i]=w[i+m];

for(j=0;j<m;j++)

{

w[i]=b[j];

i++;

}

w[i]=‘\0’;

}

假定输入的字符串中只包含字母和号,请编写函数 fun,它的功

能是:除了字符串前导和尾部的号之外,将串中其他*号全部删除。形参 h 已

指向字符串第一个字符,形参 p 已指向字符串中最后一个字母。在编写程序时,

不得使用 c 语言提供的字符串函数。

答案:

void fun(char *a,char *h,char *p)

{int i=0;

char *q=a;

while(q<h)

{a=*q;

q++;

i++;}

while(q<p)

{if(q!=‘’)

{a=*q;

i++;}

q++;}

while(*q)

{a=*q;

i++;

q++;}

a=‘\0’;}

请编写一个函数 fun,其功能是:将两个两位数的正整数 ab 合并

形成一个整数放在 c 中。合并方式是:将 a 数的十位和个位数依次放在 c 数的

个位和百位上,b 数的十位和个位数依次放在 c 数的十位和千位上。

答案:void fun(int a,int b,long *c)

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

请编写函数 fun,其功能是:将 s 所指字符串中 ascii 值为偶数的

字符删除,串中剩余字符形成一个新串放在 t 所指的数组中。

答案:

void fun(char *s,char t[])

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

for(i=0;i<n;i++)

if (s%2!=0)

{t[j]=s;

j++;}

t[j]=‘\0’;}

请编写一个函数 fun,它的功能使:计算 n 门课程的平均分,计算

结果作为函数值返回。

答案:

float fun(float *a,int n)

{float ave=0.0;

int i;

for(i=0;i<n;i++)

ave+=a;

ave/=n;

return ave;}

假定输入的字符串中只包含字母和号。请编写函数 fun,它的功

能使:将字符串尾部的号全部删除,前面和中间的*号不删除。

答案:

void fun(char *a)

{int i=0;

char *p,*q;

p=q=a;

while(*p)

p++;

p–;

while(p==‘’)

p–;

while(q<=p)

{a=*q;

i++;

q++;}

a=‘\0’;}

请编写函数 fun,计算并输出给定 10 个数的方差。

答案:

double fun(double x[10])

{int i,j;

double s=0.0,s1=0.0;

for(i=0;i<10;i++)

s1+=x;

s1/=10;

for(j=0;j<10;j++)

s+=(x[j]-s1)*(x[j]-s1);

s/=10;

s=pow(s,0.5);

return s;}

请编写函数 fun,其功能是:计算并输出下列多项式

值:sn=(1-1/2)+(1/3-1/4)+…+(1/(2n-1)1/2n).

答案:

sn=(1-1/2)+(1/3-1/4)+…+(1/(2n-1)1/2n).

double fun(int n)

{int i;

double sn=0.0;

for(i=1;i<=n;i++)

sn+=(1.0/(2i-1)-1.0/(2i));

return sn;}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值