【#文档大全网# 导语】以下是®文档大全网的小编为您整理的《编程》,欢迎阅读!
1、题目:编写函数判断一个整数能否同时被3和5整除,若能
则返回值为1,否则为0。调用函数求出15~300之间
能同时被3和5整除的数的个数。 答案:if(n%3==0&&n%5==0) return(1);
return(0);
2、题目:给定n个数据,求最小值出现的位置(如果最小值出
现多次,求出第一次出现的位置即可)。 答案:int i,k; k=0;
for(i=1;i if(s[i] return(k);
3、题目:编写函数求1~100(闭区间)中奇数的平方和。结果为166650 答案:float s=0; int i,j;
for(i=1;i<=n;i=i+2) s=s+s*i; return(s);
4、题目:编写函数fun求sum=d+dd+ddd+.....+dd....d(n个d),
其中d为1-9的数字。 例如:3+33+333+3333+33333(此时d=3,n=5),d和n在主函数中输入。
答案:long int s=0,t=0; int i;
for(i=1;i<=n;i++) { t=t+d; s=s+t;
d=d*10; } return (s);
5、题目:求n阶方阵主、副对角线上的元素之积。 答案:int i,j; float t=1;
for(i=0;i for(j=0;j if(i==j||i+j==N-1) t=t*arr[i][j]; return(t);
6、题目:编写函数fun,函数的功能是:计算机并输出给定
整数n的说有因子之和(不包括1与其自身)。规定
n的值不大于1000. 例如:n的值为855是,应输出704. 答案:int s=0,i;
for(i=2;i if(n%i==0)s=s+1; return(s);
7、题目:请编写一个函数fun,函数的功能是:求出N×M整 型数组的最大元素及
其所在的行坐标及列坐标(如
果最大元素不唯一,选择位置在最前面的一个)。 例如:输入的数组为: 1 2 3
4 15 6
12 18 9
10 11 2
求出的最大数为18,行坐标为2,列坐标为1。 答案: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); 8、题目:用函数求N个[10,60]上的整数中能被5整除的最大的数, 如存在则返回这个最大值,如果不存在则返回0。
答案: int i;
for(i=0;i<=n;i++) if(arr[i]%5==0 && arr[i]>m)
m=arr[i]; 9、题目:用函数求一个N阶方阵右下三角元素的和(包括副对角线上的元素)。 答案:int i,j,k=0;
for(i=0;i
for(j=N-a-i;j k=k+a[i][j]; return(k);
10、题目:用函数求N个[10,60]上的整数中能被5整除的最大的数, 如存在则返回这个最大值,如果不存在则返回0。 答案 :int i;
for(i=0;i
if(arr[i]%5==0&&arr[i]>m) m=arr[i]
11、题目:求一批数中最大值和最小值的积。 答案:int i,max,min; max=min=a[0]; for(i=1;i
if(a[i]>max) max=a[i]; else if(a[i]min=a[i];
return(max*min); 12、题目:编写函数用冒泡排序法对数组中的数据进行从小到大的排序。 答案:int i,j,t; for(i=0;i for(j=0;j if(a[j]>a[j+1]) {t=a[j]; a[j]=a[j+1]; a[j+1]=t;}
13、题目:编写函数求2!+4!+6!+8!+10!。结果为3669866。 答案: int i,j; float t=1;
for(i=0;i for(j=0;j if(i==j||i+j==N-1) t=t*arr[i][j]; return(t)
14、题目:求n阶方阵主、副对角线上的元素之积。 答案:float s,f=0; int i,j;
for(i=2;i<=n;i=i+2) {s=1;
for(j=1;j<=i;j++) s=s*j; f=f+s; } return(f);
15、题目:求一批数中大于平均值的数的和。 答案:int i,sum=0,k=0; float average; for(i=0;i sum=sum+a[i]; average=sun*1.0/n; for(i=0;i if(averagek=k+a[i];
return(k);
16、题目:编写函数fun,函数的功能是:从字符串s中删除指定的的字符c。 答案:int i,k=0;
for(i=0;s[i]!='\0';i++) if(s[i]!=c) s[k++]=s[i];
s[k]='\0'; 17、题目:用函数求fibonacci数列前28项的和。已知数列的第一项值为1,第二项值也为1,从第三项开始,每一项均为其前面相邻两项的和。 运行结果:832039 答案:long f,k=f1+f2; int i;
for(i=3;i<=28;i++) {f=f1+f2; k=k+f; f1=f2; f2=f; } return(k)
18、题目:编写函数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; }
19、题目:编写函数fun,函数的功能是:计算n门课程的平均值,计算结果作为函数值返回。
例如,若有5门课程的成绩是:92,76,69,58,88,则函数的值为76.599998。 答案:int i;
float y=0;
for(i=0;1 y+=a[i]; y=y/n; return y;
20、题目:用函数求一个N阶方阵右下三角元素的和(包括副对角线上的元素)。 答案:int i,j,k=0;
for(i=0;i
for(j=N-1-i;j k=k+a[i][j]; return(k);
21、题目:从键盘输入一个大于3的整数,调用函数fun判断其是否素数,然后在main函数中输出相应的结论信息。例如:7是素数,8不是素数。请编写fun函数。素数是仅能被1和本身整除的数。 答案:int i; int j; j=1;
for(i=2;i {if(n%i==0) j=0; } return j;
22、题目:编写函数fun,函数的功能是:求一分数序列2/1,3/2,5/3,8/5,13/8,21/13...的前n项之和。
每一分数的分母是前两项的分母之和。
每一分数的分子是前两项的分子之和。 例如:求前20项之和的值为32.660259。 答案:int i;
float f1=1,f2=1,f3,s=0; for(i=1;i<=n;i++) {f3=f1+f2; f1=f2; f2=f3;
s=s+f2/f1; } return s;
23、题目:编写函数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';
------------------------------------------------------------------------------
24、题目:编写函数fun,求任一整数m的n次方。 答案:long int x=1; int i;
for(i=1;i<=n;i++) x=x*m; return x;
25、题目:编写函数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';
26、题目:编写函数fun,求任一整数m的n次方。 答案:long int x=1; int i;
for(i=1;i<=n;i++) x=x*m; return x;
27、题目:编写函数fun将一个数组中的值按逆序存放,并在main()函数中输出。
例如,原来存顺序为8,6,5,4,1。要求改为:1,4,5,6,8。 答案:int i,t;
for(i=0;i { t=arr[i];
arr[i]=arr[n-1-i]; arr[n-1-i]=t; } 28、题目:求字符ch在字符串s中出现的所有位置。(用新生成的数组来表示出现的所有位置) 答案:int i,j=0;
for(i=0;s[i]!='\0';i++) if(s[i]==ch) a[j++]=i; return(j);
29、题目:编写函数fun(n),函数的功能是求n!主函数的功能是计算:x!+y!+z!的值 答案 : int i;
long int p=1;
for(i=1;i<=n;i++) p=p*i; return(p);
30、题目:编写程序求无理数e的值并输出。
e=1+1/1!+1/2!+1/3!+.......+1/n!直到
1/n!<0.00001时e=2.718282. 答案:long int j;
int i,k; float 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;
31、题目:编写函数用选择排序法对数组中的数据进行从小到大的排序 答案:int i,j,k,t;
for(i=o;i {k=i;
for(j=i+1;j if(a[k]>a[j]) k=j; if(k!=i) {t=a[i]; a[i]=a[k];
a[k]=t; } }
本文来源:https://www.wddqxz.cn/2bdca18702d276a200292ef3.html