c语言程序填空含答案.docx
《c语言程序填空含答案.docx》由会员分享,可在线阅读,更多相关《c语言程序填空含答案.docx(47页珍藏版)》请在冰豆网上搜索。
![c语言程序填空含答案.docx](https://file1.bdocx.com/fileroot1/2022-12/19/c3fa3bad-dbad-4e3e-9d64-632dee22c919/c3fa3bad-dbad-4e3e-9d64-632dee22c9191.gif)
c语言程序填空含答案
【程序填空】
功能:
写一个函数,求一个字符串的长度,在main函数中输入字
符串,并输出其长度。
len=length(str);
Intlength(p)
N++;
P++;
【程序改错】
功能:
将一个字符串中的大写字母转换成小写字母。
bool(char)fun(char*c)
fun=c;(return*c)
puts(*p);(putchar(*p))
【程序设计】
功能:
编写函数实现两个数据的交换,在主函数中输入任
意三个数据,调用函数对这三个数据从大到小排序。
—--————————-—---—-—-—--——--—---—---——-————--————*/
#include〈stdio.h>
voidwwjt();
voidswap(int*a,int*b)
{
/**********Program**********/
/**********End**********/
}
main()
{
intx,y,z;
scanf("%d%d%d",&x,&y,&z);
if(x〈y)swap(&x,&y);
if(x〈z)swap(&x,&z);
if(y〈z)swap(&y,&z);
printf("%3d%3d%3d”,x,y,z);
wwjt();
}
voidwwjt()
{
FILE*IN,*OUT;
intm,n;
inti[2];
IN=fopen("in.dat","r”);
if(IN==NULL)
{
printf("ReadFILEError");
}
OUT=fopen(”out。
dat","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);it[2*d]='/0'(‘\0’);
【程序设计】
功能:
把20个随机数存入一个数组,然后输出该数组中的
最小值。
其中确定最小值的下标的操作在fun函数中
实现,请给出该函数的定义。
-——----—--—-—————---——-—--—-—-——-————-——-----———*/
#include〈stdio。
h〉
#defineVSIZE20
voidwwjt();
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);
printf("\nMininum:
Vector[%d]=%6d\n",i,vector[i]);
wwjt();
}
voidwwjt()
{
inti,t;
FILE*fp;
fp=fopen(”out。
dat”,"w");
for(i=0;i〈VSIZE;i++)
{
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;i<10;i++)
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
voidwwjt();
doublefun(intm)
{
/**********Program**********/
/**********End**********/
}
main()
{
printf("ji=%f\n",fun(100));
wwjt();
}
voidwwjt()
{
FILE*IN,*OUT;
intiIN,i;
doubledOUT;
IN=fopen(”23。
IN",”r");
if(IN==NULL)
{
printf(”PleaseVerifyTheCurrerntDir。
.itMayBeChanged");
}
OUT=fopen("23.out”,”w");
if(OUT==NULL)
{
printf("PleaseVerifyTheCurrentDir。
。
itMayBeChanged");
}
for(i=0;i〈10;i++)
{
fscanf(IN,”%d”,&iIN);
dOUT=fun(iIN);
fprintf(OUT,"%f\n”,dOUT);
}
fclose(IN);
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;
for(i=0;i{
printf(”\npleaseinput%dof%d\n”,i+1,N);
printf("num:
");
scanf(”%s”,&stu[i].num);
printf(”name:
");
scanf(”%s",stu[i]。
name);
for(j=0;j〈3;j++)
{
/**********FOUND**********/
printf("score%d。
”,j);
scanf("%d”,&stu[i].score[j]);
}
printf("\n”);
}
}
print(stu)
structstudentstu[];
{
inti,j;
printf(”\nNo。
NameSco1Sco2Sco3\n”);
/**********FOUND**********/
for(i=0;i〈=N;i++)
{
printf("%-6s%—10s”,stu[i]。
num,stu[i]。
name);
for(j=0;j〈3;j++)
printf("%-8d”,stu[i]。
score[j]);
printf(”\n");
}
}
main()
{
input();
print();
}
/*-——-——--—-—-—-——-—-————--———----—-———--——--—-—-—
【程序设计】
功能:
产生20个[30,120]上的随机整数放入二维数组a[5][4]
中,求每行元素的和.
——-—--———————------———--—-—--—-—--—----—---————-*/
#include"stdlib。
h”
#include〈stdio.h>
voidwwjt();
voidrow_sum(inta[5][4],intb[5])
{
/**********Program**********/
/**********End**********/
}
main()
{
voidrow_sum();
inta[5][4],b[5],i,j;
for(i=0;i<5;i++)
for(j=0;j<4;j++)
a[i][j]=rand()%(120—30+1)+30;
for(i=0;i<5;i++)
{
for(j=0;j<4;j++)
printf(”%5d",a[i][j]);
printf(”\n");
}
row_sum(a,b);
for(i=0;i〈5;i++)
printf(”%6d",b[i]);
printf("\n”);
wwjt();
}
voidwwjt()
{
FILE*IN,*OUT;
intm,n;
inti[5][4];
into[5];
IN=fopen("in。
dat”,"r”);
if(IN==NULL)
{
printf("ReadFILEError”);
}
OUT=fopen("out。
dat",”w”);
if(OUT==NULL)
{
printf(”WriteFILEError");
}
for(m=0;m〈5;m++)
for(n=0;n<4;n++)
fscanf(IN,"%d",&i[m][n]);
row_sum(i,o);
for(n=0;n〈5;n++)
fprintf(OUT,”%d\n",o[n]);
fclose(IN);
fclose(OUT);
}
/*--—-—-----—-———-—-——-—-—————---—-——--——------——-----—--
【程序填空】
功能:
在歌星大奖赛中,有10个评委为参赛的选手打分,分数为
1~100分。
选手最后得分为:
去掉一个最高分和一个最低分
后其余8个分数的平均值.请编写一个程序实现.
scanf("%d",&score);
if(maxif(min>score)
score:
%d\n",(sum-max—min)/8);
【程序改错】
功能:
将s所指字符串的反序和正序进行连接形成一个新串放在
t所指的数组中。
Charfun(char*c)fun=c;return*c
【程序设计】
功能:
将字符串中的小写字母转换为对应的大写字母,
其它字符不变。
-—-———--—-———-——---------—---—---——--—-———————-—*/
#include"string。
h”
#include〈stdio.h>
voidwwjt();
voidchange(charstr[])
{
/**********Program**********/
/**********End**********/
}
main()
{
voidchange();
charstr[40];
gets(str);
change(str);
puts(str);
wwjt();
}
voidwwjt()
{
FILE*IN,*OUT;
chari[200];
IN=fopen(”in。
dat",”r”);
if(IN==NULL)
{
printf("ReadFILEError”);
}
OUT=fopen(”out.dat”,"w");
if(OUT==NULL)
{
printf("WriteFILEError");
}
fscanf(IN,"%s",i);
change(i);
fprintf(OUT,”%s\n”,i);
fclose(IN);
fclose(OUT);
}
/*——-————---—-——---————-——————-—-——----—--—-—-—-—————--——
【程序填空】
—功能:
考查字符串数组的应用。
输出26个英文字母。
for(i=0;i<26;i++)
string[i]=‘A’+i;
printf("thearrarycontains%s\n”,string);
【程序改错】
功能:
将一个字符串中的大写字母转换成小写字母。
例如:
输入aSdFG输出为asdfg。
—----——---—---—--—-————--————-———--—----—-———————--—-—*/
#includeh〉
/**********FOUND**********/
boolfun(char*c)
{
if(*c〈='Z'&&*c>=’A’)*c-='A’-’a';
/**********FOUND**********/
fun=c;
}
main()
{
/**********FOUND**********/
chars[81],p=s;
gets(s);
while(*p)
{
*p=fun(p);
/**********FOUND**********/
puts(*p);
p++;
}
putchar(’\n’);
}
/*------———-—-—————-———-—--—-----—-—---———-————--—
【程序设计】
功能:
将字符串中的小写字母转换为对应的大写字母,
其它字符不变。
--——--—---—-———————--—-——---—-—-———--—--————-——-*/
#include”string。
h"
#includeh〉
voidwwjt();
voidchange(charstr[])
{
/**********Program********
/**********End**********/
}
main()
{
voidchange();
charstr[40];
gets(str);
change(str);
puts(str);
wwjt();
}
voidwwjt()
{
FILE*IN,*OUT;
chari[200];
IN=fopen("in.dat”,"r”);
if(IN==NULL)
{
printf("ReadFILEError");
}
OUT=fopen("out.dat","w”);
if(OUT==NULL)
{
printf(”WriteFILEError");
}
fscanf(IN,"%s",i);
change(i);
fprintf(OUT,"%s\n”,i);
fclose(IN);
fclose(OUT);
}
/*—--——-———-—-——------——--——---——-——-———-————-——---——-—-—
【程序填空】
功能:
从读入的整数数据中,统计大于零的整数个数和小于零的
整数个数.用输入零来结束输入,程序中用变量i统计大于
零的整数个数,用变量j统计小于零的整数个数。
if(n>0)i=i+1;
if(n<0)j=j+1;
scanf(”%d",&n);
printf("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;
printf(”enter
【程序设计】
功能:
从键盘上输入任意实数x,求出其所对应的函数值。
z=(x—4)的二次幂(x〉4)
z=x的八次幂(x〉-4)
z=z=4/(x*(x+1))(x>-10)
z=|x|+20(其他)
——-—-——---——--—-———---————--—-—---—————---—---—-*/
#include〈math.h>
#include〈stdio.h〉
voidwwjt();
floaty(floatx)
{
/**********Program**********/
/**********End**********/
}
main()
{
floatx;
scanf(”%f”,&x);
printf(”y=%f\n”,y(x));
wwjt();
}
voidwwjt()
{
FILE*IN,*OUT;
intn;
floati;
floato;
IN=fopen(”in。
dat","r");
if(IN==NULL)
{
printf("ReadFILEError");
}
OUT=fopen("out.dat”,”w");
if(OUT==NULL)
{
printf("WriteFILEError");
}
for(n=0;n〈10;n++)
{
fscanf(IN,”%f”,&i);
o=y(i);
fprintf(OUT,"%f\n”,o);
}
fclose(IN);
fclose(OUT);
}
/*-——--———--———------—--——-——--——--——---—————-----—--——-—
【程序填空】
功能:
删除字符串中的数字字符。
例如:
输入字符串:
48CTYP9E6,则输出:
CTYPE。
voidfun(char*s)
else*s++=*p++;
*s=’\0';
【程序改错】
功能:
实现交换两个整数的值。
例如:
给a和b分别输入3和6,输出为a=6b=3
-----—-------—-—-—----——--—-—----——-—-———----——-—-————*/
#include/**********FOUND**********/
voidfun(inta,b)
{
intt;
/**********FOUND**********/
t=a;
/**********FOUND**********/
a=b;
/**********FOUND**********/
b=t;
}
main()
{
inta,b;
printf("entera,b:
”);scanf(”%d%d",&a,&b);
fun(&a,&b);
printf("a=%db=%d\n",a,b);
}
/*---——---————-----—--—--—————-———---——-—-—--———--
【程序设计】
功能:
能计算从1开始到n的自然数中偶数的平方的和,n由
键盘输入,并在main()函数中输出.(n是偶数)
-——--——-—-—--—---—-——----—-—-—-—-————--—--—----—*/
#includeh〉
voidwwjt();
intfun(intn)
{
/**********Program**********/
/**********End**********/
}
main()
{
intm;
printf(”Enterm:
");
scanf("%d",&m);
printf(”\nTheresultis%d\n",fun(m));
wwjt();
}
voidwwjt()
{
FILE*IN,*OUT;
intt;
into;
intc;
IN=fopen(”in.dat”,”r”);
if(IN==NULL)
{
printf("ReadFILEError”);
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf(”WriteFILEError”);
}
for(c=1;c〈=5;c++)
{
fscanf(IN,"%d",&t);
o=fun(t);
fprintf(OUT,”%d\n",o);
}
fclose(IN);
fclose(OUT);
}
/*-