大部分C语言题都在里面.docx
- 文档编号:7159
- 上传时间:2023-04-28
- 格式:DOCX
- 页数:36
- 大小:25.63KB
大部分C语言题都在里面.docx
《大部分C语言题都在里面.docx》由会员分享,可在线阅读,更多相关《大部分C语言题都在里面.docx(36页珍藏版)》请在冰点文库上搜索。
大部分C语言题都在里面
【程序设计】
功能:
根据整型形参m,计算如下公式的值:
y=sin(m)*10。
【参考代码】
doubley=0;
y=sin(m)*10;
return(y);
功能:
若x、y为奇数,求x到y之间的奇数和;若x、y为偶
数,则求x到y之间的偶数和。
【参考代码】
inti,s=0;
for(i=x;i<=y;i+=2)
s=s+i;
returns;
功能:
编写程序,实现矩阵(3行3列)的转置(即行列互换)
【参考代码】
inti,j,t;
for(i=0;i<3;i++)
for(j=0;j
{t=array[i][j];
array[i][j]=array[j][i];
array[j][i]=t;}
功能:
求一个四位数的各位数字的立方和。
【参考代码】
intd,s=0;
while(n>0)
{d=n%10;
s+=d*d*d;
n/=10;
}
returns;
功能:
请编一个函数voidfun(inttt[M][N],intpp[N]),
tt指向一个M行N列的二维数组,求出二维数组每列
中最小元素,并依次放入pp所指一维数组中。
二维
数组中的数已在主函数中赋予。
【参考代码】
inti,j;
for(j=0;j { pp[j]=tt[0][j]; for(i=1;i if(tt[i][j] pp[j]=tt[i][j]; } 功能: 求一组数中大于平均值的数的个数。 【参考代码】 inti,k=0; floats=0,ave; for(i=0;i s+=a[i]; ave=s/n; printf("%f",ave); for(i=0;i if(a[i]>ave)k++; returnk; 题目: 分别统计字符串中字母、数字、空格和其他字符出现的 次数(字符长度小于80)。 【参考代码】 inti; for(i=0;c[i]! ='\0';i++) if((c[i]>='A'&&c[i]<='Z')||(c[i]>='a'&&c[i]<='z')) a=a+1; elseif(c[i]>='0'&&c[i]<='9') num=num+1; elseif(c[i]=='') b=b+1; else other=other+1; 功能: 能计算从1开始到n的自然数中偶数的平方和,n由 键盘输入,并在main()函数中输出。 【参考代码】 intsum,i; sum=0; for(i=2;i<=n;i=i+2) { sum=sum+i*i;} return(sum); 功能: 求一批数中小于平均值的数的个数。 【参考代码】 inti,sum=0,k=0; doubleaverage; for(i=0;i sum=sum+a[i]; average=sum*1.0/n; for(i=0;i if(average>a[i])k++; return(k); 功能: 求出二维数组周边元素之和,作为函数值返回。 二 维数组的值在主函数中赋予。 【参考代码】 ints=0; inti,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]; returns; 功能: 将主函数中输入的字符串反序存放。 【参考代码】 inti,j; charc; for(i=0,j=n-1;i /*或者for(i=0,j=n-1;i {c=*(str+i); *(str+i)=*(str+j); *(str+j)=c; } 功能: 求一批数中最大值和最小值的差。 【参考代码】 inti,max,min; max=min=a[0]; for(i=1;i if(a[i]>max)max=a[i]; elseif(a[i] return(max-min); 功能: 用do-while语句求1~100的累计和。 【参考代码】 inti=1,sum=0; do { sum=sum+i; i++; } while(i<=n); returnsum; 功能: 对长度为7个字符的字符串,除首、尾字符外,将其 余5个字符按降序排列。 【参考代码】 inti,j; chart; 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),从字符串str中删除第i个 字符开始的连续n个字符(注意: str[0]代表字符串 的第一个字符)。 【参考代码】 while(str[i+n-1]) { str[i-1]=str[i+n-1]; i++; } str[i-1]='\0'; 功能: 用函数求N个[10,60]上的整数中能被5整除的最大 的数,如存在则返回这个最大值,如果不存在则 返回0。 【参考代码】 inti; for(i=0;i if(arr[i]%5==0&&arr[i]>m) m=arr[i]; 功能: 判断整数x是否是同构数。 若是同构数,函数返回1; 否则返回0。 x的值由主函数从键盘读入,要求不大 于100。 【参考代码】 intk; k=x*x; if((k%10==x)||(k%100==x)) return1; else return0; 功能: 编写函数判断一个整数m的各位数字之和能否被7整除, 可以被7整除则返回1,否则返回0。 调用该函数找出 100~200之间满足条件的所有数。 【参考代码】 intk,s=0; do {s=s+m%10; m=m/10; }while(m! =0); if(s%7==0)k=1; elsek=0; return(k); 功能: 编写函数fun对主程序中用户输入的具有10 个数据的数组a按由大到小排序,并在主程序中输出 排序结果。 【参考代码】 intk,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数的十位和个位数依次放 在c数的百位和个位上,b数的十位和个位数依次放 在c数的十位和千位上。 【参考代码】 *c=a/10*100+a%10+b/10*10+b%10*1000; 功能: 用函数将第2个串连接到第1个串之后,不允许使用 strcat函数。 【参考代码】 inti,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]上的随机整数放入二维数组 a[5][4]中,求其中的最小值。 【参考代码】 inti,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计算下列分段函数的值: 【参考代码】 floaty; if(x<0&&x! =-3.0) y=x*x+x+6; elseif(x>=0&&x<10.0&&x! =2.0&&x! =3.0) y=x*x-5*x+6; elsey=x*x-x-1; returny; 功能: 根据整型形参m,计算如下公式的值: y=1/5+1/6+1/7+1/8+1/9+1/10...+1/(m+5) 【参考代码】 doubley=0; inti; for(i=0;i<=m;i++) {y+=1.0/(i+5);} return(y); 功能: 对某一正数的值保留2位小数,并对第三位进行四舍 五入。 【参考代码】 inti; i=(int)(h*1000)%10; if(i>=5) return(int)(h*100+1)/100.0; else return(int)(h*100)/100.0; 功能: 找出一批正整数中的最大的偶数。 【参考代码】 inti,amax=-1; for(i=0;i if(a[i]%2==0) if(a[i]>amax)amax=a[i]; returnamax; 功能: 编写函数fun求s=1^k+2^k+3^k+......+N^k的值, (1的K次方到N的K次方的累加和)。 【参考代码】 longpower,sum=0; inti,j; for(i=1;i<=n;i++) {power=i; for(j=1;j power*=i; sum+=power; } returnsum; 功能: 求一个n位自然数的各位数字的积。 (n是小于10的 自然数) 【参考代码】 longd,s=1; while(n>0) {d=n%10; s*=d; n/=10; } returns; 功能: 对任意输入的x,用下式计算并输出y的值。 【参考代码】 intm; if(n<0) m=-1; else if(n==0)m=0; elsem=1; returnm; 功能: 在键盘上输入一个3行3列矩阵的各个元素的值(值 为整数),然后输出主对角线元素的积,并在fun() 函数中输出。 【参考代码】 intsum; inti,j; sum=1; for(i=0;i<3;i++) sum=sum*a[i][i]; returnsum; 功能: 从键盘上输入任意实数,求出其所对应的函数值。 【参考代码】 doublez; if(x>10)z=exp(x); elseif(x>-3)z=log(x+3); elsez=sin(x)/(cos(x)+4); return(z); 功能: 求x到y之间的奇数和(包括x和y)。 【参考代码】 inti,s=0; for(i=x;i<=y;i++) if(i%2! =0)s=s+i; returns; 功能: 编写函数求3! +6! +9! +12! +15! +18! +21! 。 【参考代码】 inti,j; floatt,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的值由 主函数通过键盘输入。 【参考代码】 inti,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++; } 功能: 统计出若干个学生的平均成绩、最高分以及得最高 分的人数。 【参考代码】 inti;floatsum=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将一个由四个数字组成的字符串转换 为每两个数字间有一个空格的形式输出。 【参考代码】 inti,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函数中 实现,请给出该函数的定义。 【参考代码】 inti,min=0; for(i=1;i if(list[min]>list[i]) min=i; returnmin; 功能: 调用函数fun判断一个三位数是否是"水仙花数"。 在main函数中从键盘输入一个三位数,并输 出判断结果。 请编写fun函数。 【参考代码】 intbw,sw,gw; bw=n/100;sw=(n-bw*100)/10;gw=n%10; if(n==bw*bw*bw+sw*sw*sw+gw*gw*gw)return1; elsereturn0; 功能: 找出一个大于给定整数且紧随这个整数的素数,并 作为函数值返回。 【参考代码】 inti,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! 【参考代码】 longintj; inti,k; doublee,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++; } returne; 功能: 求出N×M整型数组的最大元素及其所在的行坐标及 列坐标(如果最大元素不唯一,选择位置在最前面 的一个)。 【参考代码】 intmax,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); 功能: 能计算从1开始到n的自然数的和,n由键盘输入, 并在main()函数中输出。 【参考代码】 intsum,i; sum=0; for(i=1;i<=n;i++) {sum=sum+i;} return(sum); 功能: 实现两个整数的交换。 【参考代码】 intt; t=*a;*a=*b;*b=t; 功能: 从低位开始取出长整型变量s中偶数位上的数,依次 构成一个新数放在t中。 【参考代码】 longsl=10; s/=10; t=s%10; while(s>0) {s=s/100; t=s%10*sl+t; sl=sl*10; } 功能: 产生20个[30,120]上的随机整数放入二维数组a[5][4] 中,求每行元素的和。 【参考代码】 inti,j; for(i=0;i<5;i++) {b[i]=0; for(j=0;j<4;j++) b[i]=b[i]+a[i][j]; } 功能: 编写函数sum(intm,intn),求出m~n之间(包括m和n,m 被3和5整除的数的和,并将这些数的和作为返回值。 【参考代码】 inti,s=0; for(i=m;i<=n;i++) if(i%3==0&&i%5==0) s=s+i; returns; 功能: 从字符串s中删除指定的字符c。 【参考代码】 inti,k=0; for(i=0;s[i]! ='\0';i++) if(s[i]! =c)s[k++]=s[i]; s[k]='\0'; 功能: 计算并输出给定整数的所有因子之积(包括自身)。 规定这个整数的值不大于50。 【参考代码】 longs=1,i; for(i=2;i<=n;i++) if(n%i==0)s=s*i; returns; 题目: 用函数求一个N阶方阵右下三角元素的和(包括副 对角线上的元素)。 【参考代码】 inti,j,k=0; for(i=0;i for(j=N-1-i;j k=k+a[i][j]; return(k); 功能: 编写函数求3! +6! +9! +12! +15! +18! +21! 。 【参考代码】 inti,j; floatt,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); 功能: 编写函数求表达式的和(n的值由主函数输入)。 1-1/2+1/3-1/4+......+1/m 【参考代码】 floats=0; inti,k=1; for(i=1;i<=n;i++) {s=s+k*1.0/i; k=-k; } return(s); 功能: 求1到w之间的奇数之和。 (w是大于等于100小于等 于1000的整数) 【参考代码】 longy=0; inti; for(i=1;i<=w;i++) if(i%2==1)y+=i; returny; 功能: 从键盘上输入任意实数x,求出其所对应的函数值。 【参考代码】 floatz; if(x>4)z=sqrt(x-4); elseif(x>-4)z=pow(x,8); elseif(x>-10)z=4/(x*(x+1)); elsez=fabs(x)+20; return(z); 【程序改错】 题目: 输入一个字符串,将其第一个字符和最后一个字符互换。 【参考答案】 ∙scanf("%s",s1); ∙s1[0]=s1[i-1]; ∙s1[i-1]=ch; 题目: 定义一个N×N的二维数组,并在键盘给数组元素赋值。 请编写程序使数组右上半三角元素中的值全部置成0。 并以矩阵形式输出该数组, 【参考答案】 1.#defineN4 2.for(j=i;j 3.scanf("%d",&a[i][j]); 4.fun(a); 功能: 读入一个英文文本行,将其中每个单词的第一个字母改成 大写,然后输出此文本行 【参考答案】 ∙upfst(char*p) ∙for(;*p;p++) ∙elseif(*p! ='') 功能: 用下面的和式求圆周率的近似值。 直到最后一项的绝对值 小于等于0.0001。 【参考答案】 1.#include"math.h" 2.floats=0,t=1,p=1; 3.while(fabs(t)>1e-4) 4.printf("pi=%f\n",s*4); 功能: 给定n个实数,输出平均值,并统计在平均值以下(含平 均值)的实数个数。 【参考答案】 ∙floatxa=0; ∙for(j=0;j ∙for(j=0;j ∙returnc; 题目: 任意输入一个字符,如果是数字字符,则输出相应的数字, 是*号输出它的ASCII码值;否则,原样输出。 【参考答案】 ∙if(ch>='0'&&ch<='9') ∙printf("%d\n",ch-'0'); ∙elseif(ch=='*') ∙elseprintf("%c\n",ch); 功能: 八进制转换为十进制。 【参考答案】 ∙char*p,s[6]; ∙n=0; ∙while(*(p)! ='\0') 题目: 输入0-9之间的数字字符,以#为结束(输入数字字符时不要用任何间隔。 ) 求数字字符的字面值的平均值。 【参考答案】 ∙sum+=x-'0'; ∙while(x! ='#'); ∙printf("\n%f",sum/n); 题目: 求出数组中的最大、最小元素值以及所有元素的均值。 程序中共有4条错误语句,请改正错误。 【参考答案】 ∙floatmax,min; ∙max=min=sum=array[0]; ∙return(sum/n); ∙scanf("%f",&score[i]); 功能: 一个5位数,判断它是不是回文数。 即12321是回文数,个 位与万位相同,十位与千位相同。 【参考答案】 ∙longge,shi,qian,wan,x; ∙wan=x/10000; ∙if(ge==wan&&shi==qian) 功能: 编写一个函数,该函数可以统计一个长度为3的字符串在另 一个字符串中出现的次数。 【参考答案】 ∙inti,n=0; ∙for(i=0;i<=strlen(str)-3;i++) ∙n++; 功能: 编程序求一维数组中的最大和最小的元素值. 【参考答案】 ∙intmaxmin(intarr[],intn) ∙max=min=arr[0]; ∙if(arr[i]>max)max=arr[i]; ∙min=maxmin(array,N); 功能: 统计出若干个学生的平均成绩,最低分以及得最低分的人数。 【参考答案】 ∙sum+=array[i]; ∙ave=sum/n; ∙if(array[i]==Min)J++; 题目: 以下函数功能,完成字符串的复制。 【参考答案】 ∙p1=str; ∙chara[20],*p=a; 功能: 用冒泡法对10个整数从小到大排序。 【参考答案】 ∙voidsort(int*x,intn) ∙for(j=0;j ∙if(x[j+1] ∙sort(a,n); 功能: 计算正整数num的各位上的数字之积。 【参考答案】 ∙longk=1; ∙num=num/1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大部分 语言 在里面