(急!!)C程序期末考试上机题目

来源:百度知道 编辑:UC知道 时间:2024/06/17 22:22:44
我有个文档,可是不能上传,只好把这些问题都传上去,而且只能是分几次传@@马上就要考试了,可是我还是不怎么会这二十道题目,愁死人了~~~希望高手可以看到我传的题目,帮忙啦,我会多给分的。里面的每个程序只需要填写一两个句子,所以不会占用你多长时间的。我已经考过一次了,可对于女生来说这个考试真是让我难过……
2. 编写函数void fun(char *s,char *t,char *p)将未在字符串s中出现、而在字符串t中出现的字符, 形成一个新的字符串放在p中,p中字符按原字符串中字符顺序排列,但去掉重复字符。
例如: 当s为"12345", t为"8624677"时, p中的字符为: "867";
当s为”good luck”,t为”thank you very much”时,输出:”thanyverm”
#include<math.h>
void fun(char *s,char *t,char *p)
{
}
void main()
{char s1[50],s2[50],s3[50];
gets(s1);gets(s2);
fun(s1,s2,s3);
puts(s3);
}
3. 编写函数int fun(int m),计算并返回满足表达式:1+(1+2)+(1+2+3)+(1+2+3+4)+……+(1+2+3+……+n)<=m最大的n。例如,当m=10000时,程序输出:n=38。
int fun(int m)
{
}
void main()
{int x;
scanf("%d",&x);
printf("n=%d\n",fun(x));
}
4. 编写函数void fun(int *x,int n),它的功能是:求出数组x中的最小数和次最小数,并把最小数和a[0]中的数对调、次最小数和a[1]中的数对调,其余的数保持不变。如程序运行时若输入:2 4 6 11 3 9 7 0 5 8,则输出:0

2.
void fun(char *s,char *t,char *p){
int i,j,k=0;
for(i=0;t[i]!='\0';i++)
for(j=0;s[j]!='\0';j++){
if(t[i]==s[j]) break;
if(s[j]=='\0') p[k++]=t[i];
}
}

3.
int fun(int m){
int n=1,term=0,sum=0;
while(sum<=m){
term+=n;
sum+=term;
n++;
}
return n-1;
}

4.
void fun(int *x,int n){
int min=0;
int i;
for(i=1;i<n;i++)
if(*(x+i)<*(x+min)) *(x+min)=*(x+i);
int temp;
temp=*x;
*x=*(x+min);
*(x+min)=temp;
min=1;
for(i=2;i<n;i++)
if(*(x+i)<*(x+min)) *(x+min)=*(x+i);
temp=*(x+1);
*(x+1)=*(x+min);
*(x+min)=temp;
}

5.
long fun(int high,int n){
long sum=0;
int prime=high-1;
int i;
while(n>0){
while(prime>=2){
for(i=2;i<prime;i++)
if(prime%i==0) break;
if(i==prime) break;
else prime--;
}