《《计算机程序设计基础》补充习题2018-精品文档资料系列.docx》由会员分享,可在线阅读,更多相关《《计算机程序设计基础》补充习题2018-精品文档资料系列.docx(11页珍藏版)》请在优知文库上搜索。
1、计算机程序设计基础补充习题2017-2018(2)1、如果x20,则y=d,否则),=/。编写程序,输入一个整数X,计算后输出对应的y值。ftincludeintmain()(intX,y;Printf(请输入x:);scanf(%d,&x);if(x=0)y-x*x*x;elsey-x*x;Printf(对应的y值是:%dn”,y);return0;)2、输入n,按照公式计算并输出S的值。s=l-l2+l3-l4+.ln#includeintmain()floats=0;floati;intm-l,n;Printf(输入n:zz);scanf(%d,&n);for(i=l;i=n;i+)s=
2、s+mi;m*=-l;)printf(zzs=%fnzz,s);returnO;)3、输出序列1,1,2,4,7,13,24,的前30项(即从第4项开始,每一项为其前3项之和),要求分5行输出,每行6个。includedefinen30intmainOinti;intan=1,1,2;for(i=0;i=3)当前数字为前三个数字之和ai=ai-l+ai-2+ai-3;)if(i%6=0)printfnz,);printf(,%d/z,ai);)getcharO;return0;)4、输入n,求S=I!+2!+n!。#includeintmain()inti,n,sum=O,f=1;Printf
3、(输入n:zz);scanf(%d,&n);for(i=1;i=n;i+)(f=f*i;sum=sum+f;)printfCS=%ldnz,sum);return0;)5、输入10个整数存入一维数组,求其中奇数元素的个数。includeintmain()intx,a10,i;for(x=i=0;i10;i+)if(scanf(,%dz,&ai)&按位与x+;Printf(奇数个数二%dn,z,x);return0;)6、求一维数组中,最大元素与最小元素值之差。includeincludeintdiff_max_min(int*array)int*max,*min,i,diff;max=min-
4、array;for(i=l;i*max)max=array+i;)if(*(array+i)*min)min=array+i;)printf(最大值是:%dnz,*max);Printf(最小值是:%dnz,*min);diff=*max-*min;returndiff;intmainOintarray10,i=0,diff;for(;i10;i+)scanfC,%dz,&arrayi);)diff=diff_max_min(array);Printf(最大值与最小值的差是:%d,diff);returnO;7、求4X4矩阵中,各行最大元素值之和。ftincludeintmax(intx,in
5、ty)if(x=y)returnx;returny;voidmainOinta44;inti,j,m=0,ml,m2;for(i=0;i4;i+)(Printf(请输入第%d行的四个数,中间用空格隔开:n,il);for(j=0;j4;j+)scanfC%d,z,&aij);for(i=0;i4;i+)for(i=0;i4;i+)ml=0;m2=0;for(j=0;j4;j+)ml=max(ml,aij);)m=m+ml;)printf(最大值m为:%dn”,m);8、将4X4数组的第。列元素与第3列元素进行交换。ttincludeintmainOinta44;inti,j,m;for(i=0
6、;i4;i+)Printf(请输入第%d行的四个数,中间用空格隔开:n”,il);for(j=0;j4;j+)scanf(z,%d,z,&aij);for(i=0;i4;i+)以下三行是对i位置的第0行和第3行数据进行交换。m=ai0;ai0=ai3;ai3=m;输出交换后的结果Printf(第0行和第3行数据进行交换后:n);for(i=0;i4;i+)for(j=0;j4;j+)Printf(%d,aij);printfz);9、输入一个字符串,将其中的小写字母转换为对应的大写字母后输出。ttinclude#includestring.h求字符串长度的函数Strlen()在里面intmai
7、n()chars20;inti;Printf(请输入一个字符串n);gets(s);for(i=0;i三,a&si-z,)si=si-32;)puts(s);return0;10、输入3个字符串,输出其中最短字符串的长度。ftincludeincludeintmain()intmin=99,i;chars100,si100;for(i=0;i3;i+)Printf(输入字符串:);gets(s);if(strlen(s)min)min=strlen(s);strcpy(si,s);)Printf(最短字符串为:n%sn,si);returnO;)11、输入一个字符串,输出其中非空格字符的个数。
8、ftincludeftincludevoidmain()charstr1000;ints=0,i;gets(str);/*输入字符*/for(i=0;istrlen(str);i+)/*用字符长度循环*/if(stri!=)/*计算非空格个数*/s+;)Printf(非空字符个数s=%d,z,s);/*输出*/12、编写函数,求正整数n的除了本身之外的最大因子。ttincludeintmainOintx;scanf(%d,&x);inti=x/2;for(i;i1;i-)if(x%i=0)break;)Printf(最大公因子为:%dn”,i);return0;13、编写函数,判断字符串中是否
9、包指定字符,若包含返回1,否则返回Ooftincludeftincludevoidmain()(inti,j,la,lb,num=0;charc,a120,b4500;Printf(输入要查询字符:);whiIe(c=getcharO)!=n,)anum+=c;anum=,0,;num-0;Printf(输入匹配字符:);whiIe(c=getcharO)!=n,)bnum+=c;bnum=,0,;Ia=Strlen(a);Ib=Strlen(b);for(i=0;(lb-i)=la;i+)if(bi=aO)for(j=0;jla;j+)if(bi+j!=aj)break;if(j=la)printf(z,%dnzz,i+l);elseprintf(z,%d11zz,i0);break;)14、编写函数,将整数k插入到长度为m的有序序列适当位置,插入后任保证序列有序。includeftincludeintmain()inta=l,2,3,4,5,6,7,8,9;intk,i,j;Printf(请输入你要插入的数:);scanf(%d,&k);Printf(排序后序列为for(i=0;ik)for(j=8;j=i;j)aj+l=aj;ai=k;for(i=0;i10;i+)printf(zz%dzz,ai);