C题库

巡山小妖精
708次浏览
2021年02月11日 18:42
最佳经验
本文由作者推荐

-

2021年2月11日发(作者:小鸡排球)


【程序设计】



功能:根据整型形参

< p>
m


,计算如下公式的值:


y=sin(m)*10


。



【参考代码】



double y=0;


y=sin(m)*10;


return(y);



功能:若


x


、


y


为奇数,求


x


到


y


之间的奇数和;若

< p>
x


、


y


为偶




数,则求


x


到


y


之间的偶数和。

< br>


【参考代码】



int i,s=0;


for(i=x;i<=y;i+=2)


s=s+i;


return s;


< br>功能:编写程序,实现矩阵(


3


行


3


列)的转置(即行列互换)



【参考代码】



int i,j,t;


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


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


{ t=array[i][j];


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


array[j][i]=t; }



功能:求一个四位数的各位数字的立方和。



【参考代码】



int d,s=0;


while (n>0)


{d=n%10;


s+=d*d*d;


n/=10;


}


return s;



功能:请编一个函数


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


,



tt


指向一个


M


行


N


列的二维数组,求出二维数组每列




中最小元素,并依次放入


pp


所指一维数组中。二维




数组中的数已在主函数中赋予。



【参考代码】



int i,j;


for(j=0;j


{


pp[j]=tt[0][j];


for(i=1;i


if(tt[i][j]


pp[j]=tt[i][j];


}



功能:求一组数中大于平均值的数的个数。



【参考代码】



int i,k=0;


float s=0,ave;


for(i=0;i


s+=a[i];


ave=s/n;


printf(


for(i=0;i


if(a[i]>ave)k++;


return k;



题目:分别统计字符串中字母、数字、空格和其他字符出现的




次数(字符长度小于


80


)。



【参考代码】



int i;


for(i=0;c[i]!='0';i++)


if((c[i]>='A'&&c[i]<='Z')||(c[i]>='a'&&c[i]<='z'))


a=a+1;


else if (c[i]>='0'&&c[i]<='9')










num=num+1;


b=b+1;


else




other=other+1;


else if (c[i]==' ')



功能:能计算 从


1


开始到


n


的自然数中偶数的平方和,


n


由




键盘输入,并在


main ()


函数中输出。



【参考代码】



int sum,i;


sum =0;


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


{


sum=sum+i*i;}


return(sum);



功能:求一批数中小于平均值的数的个数。



【参考代码】



int i,sum=0,k=0;


double average;


for(i=0;i


sum=sum+a[i];


average=sum*1.0/n;


for(i=0;i


if(average>a[i]) k++;


return(k);



功能:求出二维数组周边元素之和,作为函数值返回。二




维数组的值在主函数中赋予。



【参考代码】



int s=0;


int i,j;


for(i=0;i


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


for(j=1;j


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


return s;



功能:将主函数中输入的字符串反序存放。



【参考代码】



int i,j;


char c;


for(i=0,j=n-1;i


/*


或者


for(i=0,j=n-1 ;i


{c=*(str+i);


*(str+i)=*(str+j);


*(str+j)=c;


}



功能:求一批数中最大值和最小值的差。



【参考代码】



int i,max,min;


max=min=a[0];


for(i=1;i


if(a[i]>max) max=a[i];


else if(a[i]


return(max- min);



功能:用


do-whi le


语句求


1


~


100


的累计和。



【参考代码】



int i =1, sum =0;


do


{


sum = sum + i;



i++;


}


while ( i <= n );


return sum;





功能:对长度为

< p>
7


个字符的字符串,除首、尾字符外,将其




余


5

个字符按降序排列。



【参考代码】



int i,j;


char t;


for(i=1;i


for(j=i+1;j


if(s[i]


{ t=s[i];s[i]=s[j];s[j]=t;}



功 能:编写函数


fun(str,i,n)


,从字符串

< p>
str


中删除第


i


个




字符开始的连续

< p>
n


个字符(注意


:str[0]

< br>代表字符串




的第一个字符)。



【参考代码】



while(str[i+n-1])


{


str[i-1]=str[i+n-1];


i++;


}


str[i-1]='0';



功能:用函数求


N

< br>个


[10,60]


上的整数中能被


5


整除的最大




的数,如存在则返回这个最大值,如果不存在则




返回


0


。



【参考代码】



int i;


for(i=0;i


if(arr[i]%5==0 && arr[i]>m)


m=arr[i];



功能:判断整数


x


是否是同构数。若是同构数,函数返回


1

< br>;




否则返回


0


。


x


的值由主函 数从键盘读入,要求不大




于


100


。



【参考代码】



int k;


k=x*x;


if((k%10==x)||(k%100==x))


return 1;


else


return 0;



功能:编写函数判断一个整数


m


的各位数字之和能否被


7


整除,

< p>



可以被


7


整除则返回


1


,否则返回


0


。调用该函数找出



100~200


之间满足条件的所有数。



【参考代码】



int k,s=0;


do


{s=s+m%10;


m=m/10;


}while(m!=0);


if(s%7==0)k=1;


else k=0;


return(k);



功能:编写函数

fun


对主程序中用户输入的具有


10



个数据的数组


a


按由大到小排序,并在主程序中输出




排序结果。



【参考代码】



int k,j,t;


for (k=0;k


for (j=k+1;j


if (array[k]


{


t=array[k];


array[k]=array[j];


array[j]=t;


}



功能:将两个两位数的 正整数


a


、


b


合并形成一个整数放在



c


中。合并的方式是:将


a


数的十位和个位数依次放

< p>



在


c


数的百位和个位上,


b


数的十位和个位数依次放




在


c


数的十位和千位上。



【参考代码】



*c=a/10*100+a%10+b/10*10+b%10*1000;



功能:用函数将第


2


个串连接到第


1


个串之后,不允许使用



strcat


函数。



【参考代码】



int i,j;


for(i=0;c1[i]!='0';i++);


for(j=0;c2[j]!='0';j++)


c1[i+j]=c2[j];


c1[i+j]='0';



功能:产生


20

个


[30,120]


上的随机整数放入二维数组

< p>


a[5][4]


中


,


求其中的最小值。



【参考代码】



int i,j,s;


s=a[0][0];


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


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


if(s>a[i][j])s=a[i][j];


return(s);



功能: 编写函数


fun


计算下列分段函数的值:



【参考代码】



float y;


if (x<0 && x!=-3.0)


y=x*x+x+6;


else if(x>=0 && x<10.0 && x!=2.0 && x!=3.0)


y=x*x-5*x+6;


else y=x*x-x-1;


return y;



功能:根据整型形参


m


,计算如下公式的值:



y=1/5+1/6


+


1/7


+


1/8< /p>


+


1/9+1/10...


+

< p>
1/(m+5)


【参考代码】



double y=0;


int i;


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


{y+=1.0/(i+5); }


return(y);




功能:对某 一正数的值保留


2


位小数,并对第三位进行四舍




五入。



【参考代码】



int i;


i=(int)(h*1000)%10;


if(i>=5)


return(int)(h*100+1)/100.0;


else


return(int)(h*100)/100.0;



功能:找出一批正整数中的最大的偶数。



【参考代码】



int i,amax=-1;


for(i=0;i


if(a[i]%2==0)


if (a[i]>amax) amax=a[i];


return amax;



功能:编写函数


fun


求


s=1^k+2^k +3^k + ......+N^k


的值,




(


1


的


K


次方到


N


的


K


次方的累加和)。



【参考代码】



long power,sum=0;


int i,j;


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


{ power=i;


for(j=1;j


power *= i;


sum += power;


}


return sum;



功能:求一个


n

位自然数的各位数字的积。(


n


是小于


10


的




自然数)



【参考代码】



long d,s=1;


while (n>0)


{d=n%10;


s*=d;


n/=10;


}


return s;



功能:对任意输入的


x


,用下式计算并输出


y


的值。



【参考代码】



int m;


if(n<0)


m=-1;


else


if(n==0) m=0;


else m=1;


return m;



功能:在键盘上输入一个


3


行


3


列矩阵的各个元素的值(值




为整数),然后输出主对角线元素的积


,


并在


fun()



函数中输出。



【参考代码】



int sum;


int i,j;


sum=1;



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


sum=sum*a[i][i];


return sum;



功能:从键盘上输入任意实数


,


求出其所对应的函数值。



【参考代码】



double z;


if(x>10) z=exp(x);


else if(x>-3) z=log(x+3);


else z=sin(x)/(cos(x)+4);


return(z);



功能:求


x


到


y


之间的奇数和(包括


x

< p>
和


y)


。



【参考代码】




int i,s=0;


for(i=x;i<=y;i++)


if(i%2!=0) s=s+i;


return s;


< br>功能:编写函数求


3!+6!+9!+12!+15!+18!+21!


。



【参考代码】



int i,j;


float t,s=0;


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


{t=1;


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


t=t*j;


s=s+t;}


return(s);



功能:删除 所有值为


y


的元素。数组元素中的值和


y


的值由




主函数通过键盘输入。



【参考代码】



int i,j;


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


{


if(bb[i]==y)


{for(j=i;j<*n;j++)


bb[j]=bb[j+1];


*n=*n-1;


}


else


i++;


}



功能:统计出若干个学生的平均成绩、最高分以及得最高




分的人数。



【参考代码】



int i;float sum=0,ave;


max=array[0];


for(i=0;i


{ if(max


sum=sum+array [i]; }


ave=sum/n;


for(i=0;i


if(array [i]==max) j++;


return(ave);



功能:编写函数


fun


将一个由四个数字组成的字符串转换




为每两个数字间有一个空格的形式输出。



【参考代码】



int i,len;


len=strlen(s);


for(i=len-1;i>0;i--)


{ s[2*i]=s[i];


s[2*i-1]=' ';


}


len=strlen(s);


s[len]='0';



功能:把


20


个随机数存入一个数组,然后输出该数组中的




最小值。其中确定最小值的下标的操作在


fun


函数中




实现,请给出该函数的定义。



【参考代码】



int i,min=0;


for(i=1; i


if(list[min]>list[i])


min=i;


return min;




功能:调用函数


fun


判断一个三位数是否是



水仙花数


。




在


main


函数中从键盘输入一个三位数,并输




出判断结果。请编写


fun


函数。



【参考代码】



int bw,sw,gw;


bw=n/100;sw=(n-bw*100)/10;gw=n%10;


if(n==bw*bw*bw+sw*sw*sw+gw*gw*gw) return 1;


else return 0;



功能:找出一个大于给定整数且紧随这个整数的素数,并




作为函数值返回。



【参考代码】



int i,k;


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


for(k=2;k


if(i%k==0)


break;


if(k==i)


return(i);


}



功能:编写程序求无理数


e


的值并输出。计算 公式为:



e=1+1/1!+1/2!+1/3!+......+1/n!


【参考代码】



long int j;


int i,k;


double e,jc;


i=1;


e=0.0;


jc=1.0;


while(jc>=0.000001)


{


e=e+jc;


j=1;


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


j=j*k;


jc=1.0/j;


i++;


}


return e;



功能:求出


N


×


M


整型数组的最大元素及其所在的行坐标及




列坐标(如果最大元素不唯一,选择位置在最前面




的一个)。



【参考代码】



int max,i,j;


max=array [0][0];


Row=0;


Col=0;


for(i=0;i


{for(j=0;j


if(max


{max=array [i][j];


Row=i;


Col=j;}


}


return(max);


< /p>


功能:能计算从


1


开始到


n


的自然数的和,


n


由键盘输 入,




并在


main()


函数中输出。



【参考代码】



int sum,i;


sum =0;


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


{sum=sum+i;}


return(sum);



功能:实现两个整数的交换。



【参考代码】



int t;


t=*a;*a=*b;*b=t;


功能:从低位开始取出长整型变量


s


中偶数位上的数,依次




构成一个新数放在


t


中。



【参考代码】



long sl=10;


s /= 10;


t = s % 10;


while(s > 0)


{ s = s/100;


t = s%10*sl + t;


sl = sl * 10;


}



功能:产生


20

个


[30,120]


上的随机整数放入二维数组

< p>
a[5][4]



中,求每行元素的和。



【参考代码】



int i,j;


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


{ b[i]=0;


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


b[i]=b[i]+a[i][j];


}


-


-


-


-


-


-


-


-