c语言程序填空含答案文档格式.docx
《c语言程序填空含答案文档格式.docx》由会员分享,可在线阅读,更多相关《c语言程序填空含答案文档格式.docx(47页珍藏版)》请在冰豆网上搜索。
![c语言程序填空含答案文档格式.docx](https://file1.bdocx.com/fileroot1/2022-12/27/e2279b1a-556d-4c4c-bd59-a38adec032e1/e2279b1a-556d-4c4c-bd59-a38adec032e11.gif)
inti[2];
IN=fopen(”in。
dat"
,"
r"
);
if(IN==NULL)
{
printf(”ReadFILEError"
);
}
OUT=fopen("
out。
"
w”);
if(OUT==NULL)
printf(”WriteFILEError"
for(n=0;
n<
3;
n++)
{
for(m=0;
m〈2;
m++)
{
fscanf(IN,"
%d”,&
i[m]);
}
swap(&
i[0],&i[1]);
fprintf(OUT,”%d\n”,i[0]);
fprintf(OUT,”%d\n”,i[1]);
fclose(IN);
fclose(OUT);
}
/*—-----——----————-—---—————--------————-—--———-—--——---—
输入3个数a,b,c,按从小到大的顺序输出.
-
if(n1〉n2)swap(pointer1,pointer2);
if(n1>
n3)swap(pointer1,pointer3);
if(n2>
n3)
voidswap(int*p1,int*p2)
将s所指字符串的反序和正序进行连接形成一个新串放在
t所指的数组中。
例如:
当s所指的字符串的内容为”ABCD"
时,t所指数组中
的内容为"
DCBAABCD”。
d=len(s);
(strlen(s)
for(i=1(i=0);
i<
d;
i++)
t[2*d]=’/0’(‘\0’);
把20个随机数存入一个数组,然后输出该数组中的
最小值。
其中确定最小值的下标的操作在fun函数中
实现,请给出该函数的定义。
----—-—-—------—-——-—-———-----——--—-——————--—-—-*/
#include〈stdio.h〉
#defineVSIZE20
intvector[VSIZE];
intfun(intlist[],intsize)
/**********Program**********/
/**********End**********/
}
main()
{
inti;
for(i=0;
i<
VSIZE;
i++)
vector[i]=rand();
printf(”Vector[%d]=%6d\n”,i,vector[i]);
}
i=fun(vector,VSIZE);
\nMininum:
Vector[%d]=%6d\n”,i,vector[i]);
wwjt();
voidwwjt()
inti,t;
FILE*fp;
fp=fopen("
dat”,"
w"
);
fprintf(fp,"
Vector[%d]=%6d\n"
,i,vector[i]);
}
t=fun(vector,VSIZE);
fprintf(fp,”\nMininum:
Vector[%d]=%6d\n"
,t,vector[t]);
fclose(fp);
/*-—————-—-—-———-——----—---—-——-—————--—————-—----—-----—
输出9*9口诀。
for(i=1;
10;
for(j=1;
j<
10;
j++)
printf(”%d*%d=%-3d”,i,j,result);
以下程序把两个数按由大到小的顺序输出来.
swap(int*p1,*p2)(intt)
scanf("
%d%d”,a,b(&
a,&b));
printf("
max=%d,min=%d\n”,p,q(*p,*q));
求1到100之间的偶数之积.
---—---—————-—---——--—-——-—-----————--——-—---——-*/
#include〈stdio.h>
voidwwjt();
doublefun(intm)
/**********Program**********/
/**********End**********/
printf(”ji=%f\n"
,fun(100));
FILE*IN,*OUT;
intiIN,i;
doubledOUT;
IN=fopen("
23。
IN"
printf(”PleaseVerifyTheCurrerntDir..itMayBeChanged"
OUT=fopen(”23。
out"
PleaseVerifyTheCurrentDir。
。
itMayBeChanged”);
for(i=0;
fscanf(IN,"
%d"
&iIN);
dOUT=fun(iIN);
fprintf(OUT,"
%f\n"
,dOUT);
fclose(OUT);
/*—-----—-—---—-—-—————---——----———-—-——----—---——-——-———
将字母转换成密码,转换规则是将当前字母变成其后的第
四个字母,但W变成A、X变成B、Y变成C、Z变成D。
小写字
母的转换规则同样。
while((c=getchar())!
='
\n’)
if((c〉=’a'
&
&c<
=’z’)||(c〉=’A'
c〈=’Z'
))c=c+4;
if((c〉’Z’&&c<
Z'
+4)||c〉'
z’)
编写input()和output()函数输入,输出5个学生的数据记录。
#include<
stdio。
h>
#defineN5
structstudent
charnum[6];
charname[8];
intscore[4];
}stu[N];
input(stu)
structstudentstu[];
/**********FOUND**********/
inti;
j;
i〈N;
printf(”\npleaseinput%dof%d\n”,i+1,N);
num:
"
%s”,&stu[i].num);
printf(”name:
scanf(”%s”,stu[i]。
name);
for(j=0;
/**********FOUND**********/
printf(”score%d.”,j);
%d"
,&stu[i]。
score[j]);
printf(”\n"
print(stu)
structstudentstu[];
inti,j;
printf(”\nNo.NameSco1Sco2Sco3\n”);
/**********FOUND**********/
for(i=0;
=N;
%-6s%-10s"
,stu[i]。
num,stu[i]。
name);
for(j=0;
%-8d"
,stu[i].score[j]);
\n"
input();
print();
/*—-—-—-———--—-——--—-——--——-—--————--—--————-————-
产生20个[30,120]上的随机整数放入二维数组a[5][4]
中,求每行元素的和。
—-——-————-—-——————---—-—-—-—-—--—--—-—-—-—————-—*/
#include”stdlib.h”
#include〈stdio。
voidrow_sum(inta[5][4],intb[5])
/**********Program**********/
/**********End**********/
voidrow_sum();
inta[5][4],b[5],i,j;
5;
4;
a[i][j]=rand()%(120—30+1)+30;
i〈5;
j〈4;
printf(”%5d"
a[i][j]);
printf(”\n”);
row_sum(a,b);
printf(”%6d”,b[i]);
FILE*IN,*OUT;
inti[5][4];
into[5];
in.dat”,"
r”);
printf(”ReadFILEError”);
out.dat”,"
WriteFILEError"
for(m=0;
m〈5;
n〈4;
fscanf(IN,”%d"
i[m][n]);
row_sum(i,o);
for(n=0;
5;
fprintf(OUT,”%d\n”,o[n]);
fclose(IN);
/*-----——--—-—---——--—-——-—--—-—————--——--——--———--——--——
在歌星大奖赛中,有10个评委为参赛的选手打分,分数为
1~100分。
选手最后得分为:
去掉一个最高分和一个最低分
后其余8个分数的平均值。
请编写一个程序实现。
scanf(”%d"
score);
if(max〈scoremax=score;
if(min〉score)
score:
%d\n"
,(sum—max-min)/8);
t所指的数组中.
Charfun(char*c)fun=c;
return*c
将字符串中的小写字母转换为对应的大写字母,
其它字符不变。
--——-—————-——-—-—---—-—---—-—-———————----——-----*/
#include”string.h”
voidchange(charstr[])
/**********Program**********/
/**********End**********/
voidchange();
charstr[40];
gets(str);
change(str);
puts(str);
FILE*IN,*OUT;
chari[200];
in.dat”,”r"
ReadFILEError"
”w”);
%s”,i);
change(i);
%s\n"
,i);
/*—-—-—--—-———-——--———-—-—-—--——————---—-—————---———--———
—功能:
考查字符串数组的应用.输出26个英文字母。
for(i=0;
i<
26;
string[i]=‘A’+i;
printf("
thearrarycontains%s\n”,string);
输入aSdFG输出为asdfg.
-----—-------——---—————--——-——-—-——---———————--———----*/
/**********FOUND**********/
boolfun(char*c)
if(*c〈=’Z’&&*c>
=’A'
)*c—=’A'
—’a'
;
/**********FOUND**********/
fun=c;
/**********FOUND**********/
chars[81],p=s;
gets(s);
while(*p)
*p=fun(p);
/**********FOUND**********/
puts(*p);
p++;
putchar(’\n’);
/*—---—-—-—-———-—————--————--—-——-——----———-————--
-—--—————-——-——-——--———-—-——-—-————--—-——--——---*/
#include”string。
h"
#include〈stdio.h>
voidwwjt();
voidchange(charstr[])
/**********Program********
/**********End**********/
charstr[40];
gets(str);
change(str);
puts(str);
FILE*IN,*OUT;
chari[200];
IN=fopen(”in.dat"
printf(”ReadFILEError”);
OUT=fopen(”out.dat"
fscanf(IN,”%s"
,i);
change(i);
%s\n”,i);
/*—-—--——---—-——--—--——-—-—-—-———————---—--——-————--—-——-
从读入的整数数据中,统计大于零的整数个数和小于零的
整数个数。
用输入零来结束输入,程序中用变量i统计大于
零的整数个数,用变量j统计小于零的整数个数。
if(n>
0)i=i+1;
if(n<
0)j=j+1;
scanf("
&n);
i=%4d\n”,i,j);
实现交换两个整数的值.
voidfun(inta,b(int*a,int*b)
t=at=*a
a=b;
(*a=*b)
b=t;
*b=t
inta,b;
enter
从键盘上输入任意实数x,求出其所对应的函数值.
z=(x-4)的二次幂(x〉4)
z=x的八次幂(x〉-4)
z=z=4/(x*(x+1))(x>
-10)
z=|x|+20(其他)
—-—--—-———-—--———---—--———————---———-—----—--——-*/
#include〈math。
floaty(floatx)
/**********Program**********/
/**********End**********/
floatx;
scanf(”%f”,&
x);
y=%f\n"
,y(x));
FILE*IN,*OUT;
intn;
floati;
floato;
in。
”r"
OUT=fopen(”out。
,”w"
printf(”WriteFILEError”);
n〈10;
{
fscanf(IN,”%f"
,&i);
o=y(i);
%f\n”,o);
/*-—-————-——--—-—-—-——-----—--—--—-—-—-----—--—-—-—----—-
删除字符串中的数字字符。
输入字符串:
48CTYP9E6,则输出:
CTYPE。
voidfun(char*s)
else*s++=*p++;
*s=’\0'
实现交换两个整数的值。
给a和b分别输入3和6,输出为a=6b=3
————--————-——-——————-—-————-——-———---—-——---—-—-——-———*/
#include〈stdio。
/**********FOUND**********/
voidfun(inta,b)
intt;
/**********FOUND**********/
t=a;
/**********FOUND**********/
/**********FOUND**********/
inta,b;
entera,b:
”);
scanf(”%d%d"
,&a,&
b);
fun(&a,&b);
a=%db=%d\n"
a,b);
/*---——--—-—-———---——-——--—-——--—-———-—--——-—————-
能计算从1开始到n的自然数中偶数的平方的和,n由
键盘输入,并在main()函数中输出。
(n是偶数)
--——-—-—-—------——--—-—-—---------——--—--——---—-*/
#include<
intfun(intn)
/**********Program**********/
/**********End**********/
intm;
Enterm:
”);
scanf(”%d”,&m);
\nTheresultis%d\n"
,fun(m));
}
intt;
into;
intc;
in.dat"
,”r”);
ReadFILEError”);
WriteFILEError”);
for(c=1;
c<
=5;
c++)
fscanf(IN,”%d"
,&t);
o=fun(t);
%d\n”,o);
/*-