经典C语言编程41题.docx
《经典C语言编程41题.docx》由会员分享,可在线阅读,更多相关《经典C语言编程41题.docx(40页珍藏版)》请在冰豆网上搜索。
经典C语言编程41题
1.编程:
从键盘输入10个整数,对其进行从小到大排序,将排序后的结果输出并保存到文件“DATA.DAT”中。
#include
voidmain()
{FILE*fp;
inti,j,t,min,a[10];
if((fp=fopen("E:
\\DATA1.DAT","w"))==NULL)
{printf("cannotopen\n");
exit(0);}
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<9;i++)
{min=i;
for(j=i+1;j<10;j++)
if(a[min]>a[j])min=j;
t=a[min];a[min]=a[i];a[i]=t;
}
{printf("%5d",a[i]);
fprintf(fp,"%5d",a[i]);}
printf("\n");
fprintf(fp,"\n");
fclose(fp);
2.设有10个学生的信息,包括学号、姓名和三门功课的成绩,试编写学生信息输入函数、学生信息输出函数,最后编写主函数,并在主函数中调用这些函数。
structstudent
{intnum;
charname[10];
intComputer;
intMaths;
intEnglish;
}stu[10];
voidinput(structstudentstu[])
{
inti;
printf("num=");
scanf("%d",&stu[i].num);
printf("name=");
scanf("%s",&stu[i].name);
printf("Computer=");
scanf("%d",&stu[i].Computer);
printf("Maths=");
scanf("%d",&stu[i].Maths);
printf("English=");
scanf("%d",&stu[i].English);
voidprint(structstudentstu[])
{inti;
printf("Theinformationofstudentsis:
\n");
printf("numnameComputerMathEnglish\n");
printf("%2d%8s%8d%8d%8d\n",stu[i].num,stu[i].name,stu[i].Computer,
stu[i].Maths,stu[i].English);
{input(stu);
print(stu);
3.输入一行字符,分别统计出其中的英文字母、空格、数字和其他字符的个数,并将统计结果输出到磁盘文件“test”中保存。
charc;
intl=0,s=0,n=0,o=0;
\\test3","w"))==NULL)
while((c=getchar())!
='\n')
{if(c>='a'&&c<='z'||c>='A'&&c<='Z')l++;
elseif(c=='')s++;
elseif(c>='0'&&c<='9')n++;
elseo++;
printf("letters=%d,space=%d,number=%d,other=%d\n",l,s,n,o);
fprintf(fp,"letters=%d,space=%d,number=%d,other=%d\n",l,s,n,o);
4.有4名学生,每个学生考4门课,要求:
写2个函数:
(1)返回值为总平均分的函数
(2)返回值为最低分的函数。
在main()函数中输入每个学生4门课的成绩,调用以上2个函数,输出总平均分和最低分。
{floataverage(inta[][4]);
intmin(inta[][4]);
inti,j,score[4][4];
for(i=0;i<4;i++)
for(j=0;j<4;j++)
scanf("%d",&score[i][j]);
average(score);
min(score);
printf("average=%5.2f,min=%5d\n",
average(score),min(score));
floataverage(inta[][4])
{inti,j;
intsum=0;
sum+=a[i][j];
return(sum/16);
intmin(inta[][4])
intmin=a[0][0];
if(min>a[i][j])min=a[i][j];
return(min);
5.输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。
要求:
写3个函数:
(1)输入10个数的函数,
(2)交换处理的函数,(3)输出10个数的函数。
在main()函数中调用以上3个函数。
voidinput(inta[])
voidfun(inta[])
{inti,j,max,min,t;
{max=i;
for(j=1;j<10;j++)
if(a[max]t=a[max];a[max]=a[9];a[9]=t;min=i;for(j=1;j<10;j++)if(a[min]>a[j])min=j;t=a[min];a[min]=a[0];a[0]=t;}}voidoutput(inta[]){inti;for(i=0;i<10;i++)printf("%d,",a[i]);printf("\n");}voidmain(){intnum[10];input(num);fun(num);output(num);}7.有一数列,包含10个数,已按升序排好。现要求编一程序,从指定位置开始的n个数按逆序重新排列并输出新的完整数列(例:原数列:2,4,6,8,10,12,14,16,18,20,若要求把从第4个数开始的5个数按逆序重新排列,则得到新数列为2,4,6,16,14,12,10,8,18,20)要求在主函数中输入10个数及指定位置m的值,并输出新的数列,在被调函数中从指定位置开始的n个数按逆序重新排列。#includevoidmain(){voidchange(int*p,intn);inta[10]={2,4,6,8,10,12,14,16,18,20};inti;change(&a[3],5);for(i=0;i<10;i++)printf("%3d",a[i]);}voidchange(int*p,intn){inti,t,*p1,*p2;for(i=0;i{p1=p+i;p2=p+n-1-i;t=*p1;*p1=*p2;*p2=t;}}8.编写函数voidsort(inta[],intn),其功能是对a数组中前n个元素从小到大排序。要求:在main中输入a数组的10个元素;调用函数sort实现对a数组的排序;输出排序后的各元素。#includevoidmain(){voidsort(inta[],intn);inti,j,n,aa[10];for(i=0;i<10;i++)scanf("%d",&aa[i]);scanf("%d",&n);sort(aa,n);for(i=0;i<10;i++)printf("%d,",aa[i]);printf("\n");}voidsort(inta[],intn){inti,j,t,min;for(i=0;i{min=i;for(j=i+1;jif(a[min]>a[j])min=j;t=a[min];a[min]=a[i];a[i]=t;}}9.编写一个函数voidinvert(intx[],intk,intj),其功能是:按逆序重新放置x数组中下标k~j的元素。在main函数中从键盘输入x数组元素,调用invert函数输出结果。#include#defineN10voidmain(){voidinvert(intx[],intk,intj);intx[N],i;for(i=0;iscanf(%d",x[i]);invert(x,2,8);for(i=0;iprintf("%d",x[i]);}voidinvert(intx[],intk,intj){inti,t;for(i=k;i<(k+j)/2;i++){t=x[k];x[k]=x[j];x[j]=t;k++;j--;}} 10.有一个3*4的矩阵,找出每行中最大的元素并与第一列交换,输出原矩阵及处理后的矩阵并保存到文件“DATA.DAT”中。#includevoidmain(){FILE*fp;inti,j,t,lie,max,a[3][4];if((fp=fopen("f:\\DATA10.DAT","w"))==NULL){printf("connotopen\n");exit(0);}for(i=0;i<3;i++)for(j=0;j<4;j++)scanf("%d",&a[i][j]);for(i=0;i<3;i++){max=a[i][0];for(j=0;j<4;j++)if(max{max=a[i][j];lie=j;}t=a[i][lie];a[i][lie]=a[i][0];a[i][0]=t;}for(i=0;i<3;i++){for(j=0;j<4;j++){printf("%4d",a[i][j]);fprintf(fp,"%4d",a[i][j]);}printf("\n");fprintf(fp,"\n");}fclose(fp);} 11.函数voidfun(chars[],charch)的功能是:从字符串s中删除字符ch。要求:在main函数中输入字符串s及要删除的字符ch的值,调用fun函数,输出删除了字符ch后的字符串。例如:从键盘输入cabcdabcdabcxccc和c,输出的结果应该是abdabdabx。#include#includevoidmain(){voidfun(chars[],charch);charstr[81],c;gets(str);scanf("%s",&c);fun(str,c);puts(str);}voidfun(chars[],charch){inti,j;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch)s[j++]=s[i];s[j]='\0';} 12.编程:在N行M列的二维数组中选出最大值,输出最大值及所在的行下标和列下标并保存到文件“DATA.DAT”中。#include#defineN3#defineM4voidmain(){FILE*fp;inti,j,max,a[N][M],hang,lie;if((fp=fopen("E:\\DATA12.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;ifor(j=0;jscanf("%d",&a[i][j]);max=a[0][0];for(i=0;ifor(j=0;jif(max{max=a[i][j];hang=i;lie=j;}printf("max=%d\n",max);fprintf(fp,"max=%d\n",max);printf("hang=%d,lie=%d\n",++hang,++lie);fprintf(fp,"hang=%d,lie=%d\n",++hang,++lie);fclose(fp);} 13.函数intispalin(charstr[])的功能是判断字符串str是否为回文,即顺读和逆读都一样的字符串,若是,返回1;否则返回0。要求:在main函数中从键盘输入字符串str,调用ispalin函数,输出判断结果。例如:输入admda,则输出admda:yes;输入abcdabc,则输出abcdabc:No。#include"stdio.h"#include"string.h"main(){intfun(charstr[]);charstr[81];scanf("%s",str);if(fun(str))printf("%syes\n",str);elseprintf("%sno\n",str);}intfun(charstr[]){inti,j;j=strlen(str)-1;for(i=0;iif(str[i]!=str[j])return(0);return(1);} 14.编写函数intprime(intn),功能为判断n是否为素数,若是,返回1;否则返回0。要求:在main函数中调用函数prime,将2~100以内的所有素数存放到一维数组a中,输出a中的所有元素。#include#includevoidmain(){intprime(intn);inta[50],i,k=0;for(i=2;i<=100;i++)if(prime(i)==1)a[k++]=i;for(i=0;i}intprime(intn){inti,k=sqrt(n);for(i=2;i<=k;i++)if(n%i==0)break;if(i>k)return1;elsereturn0;} 15.函数intflag(intx0,intx1,intd[])的功能是:找出x0至x1之间所有能被3整除的数存入d数组中,返回d数组中元素的个数。编写main函数,调用flag函数求出15~50之间所有满足条件的整数。#includevoidmain(){intflag(intx0,intx1,intd[]);intn,i,a[30];n=flag(15,50,a);printf("n=%d\n",n);for(i=0;iprintf("%4d",a[i]);printf("\n");}intflag(intx0,intx1,intd[]){inti,k=0;for(i=x0;i<=x1;i++)if(i%3==0)d[k++]=i;return(k);} 16.编程:从键盘输入N个字符串,输出其中最长的字符串并保存到文件“DATA.DAT”中。#include#include#defineN10voidmain(){FILE*fp;chara[N][80];inti,t[N],max;if((fp=fopen("E:\\DATA16.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;iscanf("%s",&a[i]);for(i=0;it[i]=strlen(a[i]);max=t[0];for(i=0;iif(maxmax=t[i];for(i=0;iif(strlen(a[i])==max){printf("%s",a[i]);fprintf(fp,"%s",a[i]);}fclose(fp);} 17.函数intfun(inta[],intn,intb[])的功能是:求出数组a中n个元素的平均值,将大于平均值的元素存入b数组中,函数返回b数组中元素个数。编写main,通过调用fun,输出大于平均值的元素及元素个数。#includevoidmain(){intfun(inta[],intn,intb[]);inti,aa[10],bb[10],x;for(i=0;i<10;i++)scanf("%d",&aa[i]);x=fun(aa,10,bb);for(i=0;iprintf("%d",bb[i]);printf("\nx=%d\n",x);}intfun(inta[],intn,intb[]){inti,j,sum=0,aver;for(i=0;isum=sum+a[i];aver=sum/n;for(i=0,j=0;iif(a[i]>aver)b[j++]=a[i];return(j);}18.函数voidmove(inta[],intn,intm)的功能是:将有n个元素的数组a中前面各数顺序向后移m个位置,最后m个数变成最前面m个数。编写main,调用move函数,输出变换后的结果。#includevoidmain(){voidmove(inta[],intn,intm);intaa[10]={1,2,3,4,5,6,7,8,9,0},i,m;for(i=0;i<10;i++)printf("%4d",aa[i]);printf("\n");printf("pleaseinputm(m<=10):");scanf("%d",&m);move(aa,10,m);for(i=0;i<10;i++)printf("%4d",aa[i]);printf("\n");}voidmove(inta[],intn,intm){inti,t[10];for(i=0;ifor(i=n-1;i>=m;i--)a[i]=a[i-m];for(i=0;i} 19.函数voidfun(charstr[])的功能是:删除字符数组str中的非字母字符。编写main函数,从键盘输入一个字符串,调用fun函数,输出删除了非字母字符后的字符串。#include#includevoidmain(){voidfun(charstr[]);charc,s[80];inti=0;for(;(c=getchar())!='\n';)s[i++]=c;s[i]='\0';fun(s);}voidfun(charstr[]){inti,t,n;charc[80];n=strlen(str);for(i=0,t=0;iif(str[i]>='A'&&str[i]<='Z'||str[i]>='a'&&str[i]<='z')c[t++]=str[i];c[t]='\0';puts(c);} 20.编程:找出10个整数中的最大数并与第一个数交换位置,找出最小数与最后一个数交换位置,将变换后的结果写入文件dat.txt中。#includevoidmain(){FILE*fp;inti,j,a[10],t,max,min;if((fp=fopen("E:\\DATA1.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<9;i++){max=i;for(j=1;j<10;j++)if(a[max]t=a[max];a[max]=a[9];a[9]=t;min=i;for(j=1;j<10;j++)if(a[min]>a[j])min=j;t=a[min];a[min]=a[0];a[0]=t;}for(i=0;i<10;i++){printf("%d,",a[i]);fprintf(fp,"%d,",a[i]);}printf("\n");fprin
t=a[max];a[max]=a[9];a[9]=t;
min=i;
t=a[min];a[min]=a[0];a[0]=t;
voidoutput(inta[])
printf("%d,",a[i]);
{intnum[10];
input(num);
fun(num);
output(num);
7.有一数列,包含10个数,已按升序排好。
现要求编一程序,从指定位置开始的n个数按逆序重新排列并输出新的完整数列(例:
原数列:
2,4,6,8,10,12,14,16,18,20,若要求把从第4个数开始的5个数按逆序重新排列,则得到新数列为2,4,6,16,14,12,10,8,18,20)要求在主函数中输入10个数及指定位置m的值,并输出新的数列,在被调函数中从指定位置开始的n个数按逆序重新排列。
{voidchange(int*p,intn);
inta[10]={2,4,6,8,10,12,14,16,18,20};
change(&a[3],5);
printf("%3d",a[i]);
voidchange(int*p,intn)
inti,t,*p1,*p2;
for(i=0;i{p1=p+i;p2=p+n-1-i;t=*p1;*p1=*p2;*p2=t;}}8.编写函数voidsort(inta[],intn),其功能是对a数组中前n个元素从小到大排序。要求:在main中输入a数组的10个元素;调用函数sort实现对a数组的排序;输出排序后的各元素。#includevoidmain(){voidsort(inta[],intn);inti,j,n,aa[10];for(i=0;i<10;i++)scanf("%d",&aa[i]);scanf("%d",&n);sort(aa,n);for(i=0;i<10;i++)printf("%d,",aa[i]);printf("\n");}voidsort(inta[],intn){inti,j,t,min;for(i=0;i{min=i;for(j=i+1;jif(a[min]>a[j])min=j;t=a[min];a[min]=a[i];a[i]=t;}}9.编写一个函数voidinvert(intx[],intk,intj),其功能是:按逆序重新放置x数组中下标k~j的元素。在main函数中从键盘输入x数组元素,调用invert函数输出结果。#include#defineN10voidmain(){voidinvert(intx[],intk,intj);intx[N],i;for(i=0;iscanf(%d",x[i]);invert(x,2,8);for(i=0;iprintf("%d",x[i]);}voidinvert(intx[],intk,intj){inti,t;for(i=k;i<(k+j)/2;i++){t=x[k];x[k]=x[j];x[j]=t;k++;j--;}} 10.有一个3*4的矩阵,找出每行中最大的元素并与第一列交换,输出原矩阵及处理后的矩阵并保存到文件“DATA.DAT”中。#includevoidmain(){FILE*fp;inti,j,t,lie,max,a[3][4];if((fp=fopen("f:\\DATA10.DAT","w"))==NULL){printf("connotopen\n");exit(0);}for(i=0;i<3;i++)for(j=0;j<4;j++)scanf("%d",&a[i][j]);for(i=0;i<3;i++){max=a[i][0];for(j=0;j<4;j++)if(max{max=a[i][j];lie=j;}t=a[i][lie];a[i][lie]=a[i][0];a[i][0]=t;}for(i=0;i<3;i++){for(j=0;j<4;j++){printf("%4d",a[i][j]);fprintf(fp,"%4d",a[i][j]);}printf("\n");fprintf(fp,"\n");}fclose(fp);} 11.函数voidfun(chars[],charch)的功能是:从字符串s中删除字符ch。要求:在main函数中输入字符串s及要删除的字符ch的值,调用fun函数,输出删除了字符ch后的字符串。例如:从键盘输入cabcdabcdabcxccc和c,输出的结果应该是abdabdabx。#include#includevoidmain(){voidfun(chars[],charch);charstr[81],c;gets(str);scanf("%s",&c);fun(str,c);puts(str);}voidfun(chars[],charch){inti,j;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch)s[j++]=s[i];s[j]='\0';} 12.编程:在N行M列的二维数组中选出最大值,输出最大值及所在的行下标和列下标并保存到文件“DATA.DAT”中。#include#defineN3#defineM4voidmain(){FILE*fp;inti,j,max,a[N][M],hang,lie;if((fp=fopen("E:\\DATA12.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;ifor(j=0;jscanf("%d",&a[i][j]);max=a[0][0];for(i=0;ifor(j=0;jif(max{max=a[i][j];hang=i;lie=j;}printf("max=%d\n",max);fprintf(fp,"max=%d\n",max);printf("hang=%d,lie=%d\n",++hang,++lie);fprintf(fp,"hang=%d,lie=%d\n",++hang,++lie);fclose(fp);} 13.函数intispalin(charstr[])的功能是判断字符串str是否为回文,即顺读和逆读都一样的字符串,若是,返回1;否则返回0。要求:在main函数中从键盘输入字符串str,调用ispalin函数,输出判断结果。例如:输入admda,则输出admda:yes;输入abcdabc,则输出abcdabc:No。#include"stdio.h"#include"string.h"main(){intfun(charstr[]);charstr[81];scanf("%s",str);if(fun(str))printf("%syes\n",str);elseprintf("%sno\n",str);}intfun(charstr[]){inti,j;j=strlen(str)-1;for(i=0;iif(str[i]!=str[j])return(0);return(1);} 14.编写函数intprime(intn),功能为判断n是否为素数,若是,返回1;否则返回0。要求:在main函数中调用函数prime,将2~100以内的所有素数存放到一维数组a中,输出a中的所有元素。#include#includevoidmain(){intprime(intn);inta[50],i,k=0;for(i=2;i<=100;i++)if(prime(i)==1)a[k++]=i;for(i=0;i}intprime(intn){inti,k=sqrt(n);for(i=2;i<=k;i++)if(n%i==0)break;if(i>k)return1;elsereturn0;} 15.函数intflag(intx0,intx1,intd[])的功能是:找出x0至x1之间所有能被3整除的数存入d数组中,返回d数组中元素的个数。编写main函数,调用flag函数求出15~50之间所有满足条件的整数。#includevoidmain(){intflag(intx0,intx1,intd[]);intn,i,a[30];n=flag(15,50,a);printf("n=%d\n",n);for(i=0;iprintf("%4d",a[i]);printf("\n");}intflag(intx0,intx1,intd[]){inti,k=0;for(i=x0;i<=x1;i++)if(i%3==0)d[k++]=i;return(k);} 16.编程:从键盘输入N个字符串,输出其中最长的字符串并保存到文件“DATA.DAT”中。#include#include#defineN10voidmain(){FILE*fp;chara[N][80];inti,t[N],max;if((fp=fopen("E:\\DATA16.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;iscanf("%s",&a[i]);for(i=0;it[i]=strlen(a[i]);max=t[0];for(i=0;iif(maxmax=t[i];for(i=0;iif(strlen(a[i])==max){printf("%s",a[i]);fprintf(fp,"%s",a[i]);}fclose(fp);} 17.函数intfun(inta[],intn,intb[])的功能是:求出数组a中n个元素的平均值,将大于平均值的元素存入b数组中,函数返回b数组中元素个数。编写main,通过调用fun,输出大于平均值的元素及元素个数。#includevoidmain(){intfun(inta[],intn,intb[]);inti,aa[10],bb[10],x;for(i=0;i<10;i++)scanf("%d",&aa[i]);x=fun(aa,10,bb);for(i=0;iprintf("%d",bb[i]);printf("\nx=%d\n",x);}intfun(inta[],intn,intb[]){inti,j,sum=0,aver;for(i=0;isum=sum+a[i];aver=sum/n;for(i=0,j=0;iif(a[i]>aver)b[j++]=a[i];return(j);}18.函数voidmove(inta[],intn,intm)的功能是:将有n个元素的数组a中前面各数顺序向后移m个位置,最后m个数变成最前面m个数。编写main,调用move函数,输出变换后的结果。#includevoidmain(){voidmove(inta[],intn,intm);intaa[10]={1,2,3,4,5,6,7,8,9,0},i,m;for(i=0;i<10;i++)printf("%4d",aa[i]);printf("\n");printf("pleaseinputm(m<=10):");scanf("%d",&m);move(aa,10,m);for(i=0;i<10;i++)printf("%4d",aa[i]);printf("\n");}voidmove(inta[],intn,intm){inti,t[10];for(i=0;ifor(i=n-1;i>=m;i--)a[i]=a[i-m];for(i=0;i} 19.函数voidfun(charstr[])的功能是:删除字符数组str中的非字母字符。编写main函数,从键盘输入一个字符串,调用fun函数,输出删除了非字母字符后的字符串。#include#includevoidmain(){voidfun(charstr[]);charc,s[80];inti=0;for(;(c=getchar())!='\n';)s[i++]=c;s[i]='\0';fun(s);}voidfun(charstr[]){inti,t,n;charc[80];n=strlen(str);for(i=0,t=0;iif(str[i]>='A'&&str[i]<='Z'||str[i]>='a'&&str[i]<='z')c[t++]=str[i];c[t]='\0';puts(c);} 20.编程:找出10个整数中的最大数并与第一个数交换位置,找出最小数与最后一个数交换位置,将变换后的结果写入文件dat.txt中。#includevoidmain(){FILE*fp;inti,j,a[10],t,max,min;if((fp=fopen("E:\\DATA1.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<9;i++){max=i;for(j=1;j<10;j++)if(a[max]t=a[max];a[max]=a[9];a[9]=t;min=i;for(j=1;j<10;j++)if(a[min]>a[j])min=j;t=a[min];a[min]=a[0];a[0]=t;}for(i=0;i<10;i++){printf("%d,",a[i]);fprintf(fp,"%d,",a[i]);}printf("\n");fprin
{p1=p+i;
p2=p+n-1-i;
t=*p1;
*p1=*p2;
*p2=t;
8.编写函数voidsort(inta[],intn),其功能是对a数组中前n个元素从小到大排序。
在main中输入a数组的10个元素;调用函数sort实现对a数组的排序;输出排序后的各元素。
{voidsort(inta[],intn);
inti,j,n,aa[10];
scanf("%d",&aa[i]);
scanf("%d",&n);
sort(aa,n);
printf("%d,",aa[i]);
voidsort(inta[],intn)
inti,j,t,min;
for(i=0;i{min=i;for(j=i+1;jif(a[min]>a[j])min=j;t=a[min];a[min]=a[i];a[i]=t;}}9.编写一个函数voidinvert(intx[],intk,intj),其功能是:按逆序重新放置x数组中下标k~j的元素。在main函数中从键盘输入x数组元素,调用invert函数输出结果。#include#defineN10voidmain(){voidinvert(intx[],intk,intj);intx[N],i;for(i=0;iscanf(%d",x[i]);invert(x,2,8);for(i=0;iprintf("%d",x[i]);}voidinvert(intx[],intk,intj){inti,t;for(i=k;i<(k+j)/2;i++){t=x[k];x[k]=x[j];x[j]=t;k++;j--;}} 10.有一个3*4的矩阵,找出每行中最大的元素并与第一列交换,输出原矩阵及处理后的矩阵并保存到文件“DATA.DAT”中。#includevoidmain(){FILE*fp;inti,j,t,lie,max,a[3][4];if((fp=fopen("f:\\DATA10.DAT","w"))==NULL){printf("connotopen\n");exit(0);}for(i=0;i<3;i++)for(j=0;j<4;j++)scanf("%d",&a[i][j]);for(i=0;i<3;i++){max=a[i][0];for(j=0;j<4;j++)if(max{max=a[i][j];lie=j;}t=a[i][lie];a[i][lie]=a[i][0];a[i][0]=t;}for(i=0;i<3;i++){for(j=0;j<4;j++){printf("%4d",a[i][j]);fprintf(fp,"%4d",a[i][j]);}printf("\n");fprintf(fp,"\n");}fclose(fp);} 11.函数voidfun(chars[],charch)的功能是:从字符串s中删除字符ch。要求:在main函数中输入字符串s及要删除的字符ch的值,调用fun函数,输出删除了字符ch后的字符串。例如:从键盘输入cabcdabcdabcxccc和c,输出的结果应该是abdabdabx。#include#includevoidmain(){voidfun(chars[],charch);charstr[81],c;gets(str);scanf("%s",&c);fun(str,c);puts(str);}voidfun(chars[],charch){inti,j;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch)s[j++]=s[i];s[j]='\0';} 12.编程:在N行M列的二维数组中选出最大值,输出最大值及所在的行下标和列下标并保存到文件“DATA.DAT”中。#include#defineN3#defineM4voidmain(){FILE*fp;inti,j,max,a[N][M],hang,lie;if((fp=fopen("E:\\DATA12.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;ifor(j=0;jscanf("%d",&a[i][j]);max=a[0][0];for(i=0;ifor(j=0;jif(max{max=a[i][j];hang=i;lie=j;}printf("max=%d\n",max);fprintf(fp,"max=%d\n",max);printf("hang=%d,lie=%d\n",++hang,++lie);fprintf(fp,"hang=%d,lie=%d\n",++hang,++lie);fclose(fp);} 13.函数intispalin(charstr[])的功能是判断字符串str是否为回文,即顺读和逆读都一样的字符串,若是,返回1;否则返回0。要求:在main函数中从键盘输入字符串str,调用ispalin函数,输出判断结果。例如:输入admda,则输出admda:yes;输入abcdabc,则输出abcdabc:No。#include"stdio.h"#include"string.h"main(){intfun(charstr[]);charstr[81];scanf("%s",str);if(fun(str))printf("%syes\n",str);elseprintf("%sno\n",str);}intfun(charstr[]){inti,j;j=strlen(str)-1;for(i=0;iif(str[i]!=str[j])return(0);return(1);} 14.编写函数intprime(intn),功能为判断n是否为素数,若是,返回1;否则返回0。要求:在main函数中调用函数prime,将2~100以内的所有素数存放到一维数组a中,输出a中的所有元素。#include#includevoidmain(){intprime(intn);inta[50],i,k=0;for(i=2;i<=100;i++)if(prime(i)==1)a[k++]=i;for(i=0;i}intprime(intn){inti,k=sqrt(n);for(i=2;i<=k;i++)if(n%i==0)break;if(i>k)return1;elsereturn0;} 15.函数intflag(intx0,intx1,intd[])的功能是:找出x0至x1之间所有能被3整除的数存入d数组中,返回d数组中元素的个数。编写main函数,调用flag函数求出15~50之间所有满足条件的整数。#includevoidmain(){intflag(intx0,intx1,intd[]);intn,i,a[30];n=flag(15,50,a);printf("n=%d\n",n);for(i=0;iprintf("%4d",a[i]);printf("\n");}intflag(intx0,intx1,intd[]){inti,k=0;for(i=x0;i<=x1;i++)if(i%3==0)d[k++]=i;return(k);} 16.编程:从键盘输入N个字符串,输出其中最长的字符串并保存到文件“DATA.DAT”中。#include#include#defineN10voidmain(){FILE*fp;chara[N][80];inti,t[N],max;if((fp=fopen("E:\\DATA16.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;iscanf("%s",&a[i]);for(i=0;it[i]=strlen(a[i]);max=t[0];for(i=0;iif(maxmax=t[i];for(i=0;iif(strlen(a[i])==max){printf("%s",a[i]);fprintf(fp,"%s",a[i]);}fclose(fp);} 17.函数intfun(inta[],intn,intb[])的功能是:求出数组a中n个元素的平均值,将大于平均值的元素存入b数组中,函数返回b数组中元素个数。编写main,通过调用fun,输出大于平均值的元素及元素个数。#includevoidmain(){intfun(inta[],intn,intb[]);inti,aa[10],bb[10],x;for(i=0;i<10;i++)scanf("%d",&aa[i]);x=fun(aa,10,bb);for(i=0;iprintf("%d",bb[i]);printf("\nx=%d\n",x);}intfun(inta[],intn,intb[]){inti,j,sum=0,aver;for(i=0;isum=sum+a[i];aver=sum/n;for(i=0,j=0;iif(a[i]>aver)b[j++]=a[i];return(j);}18.函数voidmove(inta[],intn,intm)的功能是:将有n个元素的数组a中前面各数顺序向后移m个位置,最后m个数变成最前面m个数。编写main,调用move函数,输出变换后的结果。#includevoidmain(){voidmove(inta[],intn,intm);intaa[10]={1,2,3,4,5,6,7,8,9,0},i,m;for(i=0;i<10;i++)printf("%4d",aa[i]);printf("\n");printf("pleaseinputm(m<=10):");scanf("%d",&m);move(aa,10,m);for(i=0;i<10;i++)printf("%4d",aa[i]);printf("\n");}voidmove(inta[],intn,intm){inti,t[10];for(i=0;ifor(i=n-1;i>=m;i--)a[i]=a[i-m];for(i=0;i} 19.函数voidfun(charstr[])的功能是:删除字符数组str中的非字母字符。编写main函数,从键盘输入一个字符串,调用fun函数,输出删除了非字母字符后的字符串。#include#includevoidmain(){voidfun(charstr[]);charc,s[80];inti=0;for(;(c=getchar())!='\n';)s[i++]=c;s[i]='\0';fun(s);}voidfun(charstr[]){inti,t,n;charc[80];n=strlen(str);for(i=0,t=0;iif(str[i]>='A'&&str[i]<='Z'||str[i]>='a'&&str[i]<='z')c[t++]=str[i];c[t]='\0';puts(c);} 20.编程:找出10个整数中的最大数并与第一个数交换位置,找出最小数与最后一个数交换位置,将变换后的结果写入文件dat.txt中。#includevoidmain(){FILE*fp;inti,j,a[10],t,max,min;if((fp=fopen("E:\\DATA1.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<9;i++){max=i;for(j=1;j<10;j++)if(a[max]t=a[max];a[max]=a[9];a[9]=t;min=i;for(j=1;j<10;j++)if(a[min]>a[j])min=j;t=a[min];a[min]=a[0];a[0]=t;}for(i=0;i<10;i++){printf("%d,",a[i]);fprintf(fp,"%d,",a[i]);}printf("\n");fprin
for(j=i+1;jif(a[min]>a[j])min=j;t=a[min];a[min]=a[i];a[i]=t;}}9.编写一个函数voidinvert(intx[],intk,intj),其功能是:按逆序重新放置x数组中下标k~j的元素。在main函数中从键盘输入x数组元素,调用invert函数输出结果。#include#defineN10voidmain(){voidinvert(intx[],intk,intj);intx[N],i;for(i=0;iscanf(%d",x[i]);invert(x,2,8);for(i=0;iprintf("%d",x[i]);}voidinvert(intx[],intk,intj){inti,t;for(i=k;i<(k+j)/2;i++){t=x[k];x[k]=x[j];x[j]=t;k++;j--;}} 10.有一个3*4的矩阵,找出每行中最大的元素并与第一列交换,输出原矩阵及处理后的矩阵并保存到文件“DATA.DAT”中。#includevoidmain(){FILE*fp;inti,j,t,lie,max,a[3][4];if((fp=fopen("f:\\DATA10.DAT","w"))==NULL){printf("connotopen\n");exit(0);}for(i=0;i<3;i++)for(j=0;j<4;j++)scanf("%d",&a[i][j]);for(i=0;i<3;i++){max=a[i][0];for(j=0;j<4;j++)if(max{max=a[i][j];lie=j;}t=a[i][lie];a[i][lie]=a[i][0];a[i][0]=t;}for(i=0;i<3;i++){for(j=0;j<4;j++){printf("%4d",a[i][j]);fprintf(fp,"%4d",a[i][j]);}printf("\n");fprintf(fp,"\n");}fclose(fp);} 11.函数voidfun(chars[],charch)的功能是:从字符串s中删除字符ch。要求:在main函数中输入字符串s及要删除的字符ch的值,调用fun函数,输出删除了字符ch后的字符串。例如:从键盘输入cabcdabcdabcxccc和c,输出的结果应该是abdabdabx。#include#includevoidmain(){voidfun(chars[],charch);charstr[81],c;gets(str);scanf("%s",&c);fun(str,c);puts(str);}voidfun(chars[],charch){inti,j;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch)s[j++]=s[i];s[j]='\0';} 12.编程:在N行M列的二维数组中选出最大值,输出最大值及所在的行下标和列下标并保存到文件“DATA.DAT”中。#include#defineN3#defineM4voidmain(){FILE*fp;inti,j,max,a[N][M],hang,lie;if((fp=fopen("E:\\DATA12.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;ifor(j=0;jscanf("%d",&a[i][j]);max=a[0][0];for(i=0;ifor(j=0;jif(max{max=a[i][j];hang=i;lie=j;}printf("max=%d\n",max);fprintf(fp,"max=%d\n",max);printf("hang=%d,lie=%d\n",++hang,++lie);fprintf(fp,"hang=%d,lie=%d\n",++hang,++lie);fclose(fp);} 13.函数intispalin(charstr[])的功能是判断字符串str是否为回文,即顺读和逆读都一样的字符串,若是,返回1;否则返回0。要求:在main函数中从键盘输入字符串str,调用ispalin函数,输出判断结果。例如:输入admda,则输出admda:yes;输入abcdabc,则输出abcdabc:No。#include"stdio.h"#include"string.h"main(){intfun(charstr[]);charstr[81];scanf("%s",str);if(fun(str))printf("%syes\n",str);elseprintf("%sno\n",str);}intfun(charstr[]){inti,j;j=strlen(str)-1;for(i=0;iif(str[i]!=str[j])return(0);return(1);} 14.编写函数intprime(intn),功能为判断n是否为素数,若是,返回1;否则返回0。要求:在main函数中调用函数prime,将2~100以内的所有素数存放到一维数组a中,输出a中的所有元素。#include#includevoidmain(){intprime(intn);inta[50],i,k=0;for(i=2;i<=100;i++)if(prime(i)==1)a[k++]=i;for(i=0;i}intprime(intn){inti,k=sqrt(n);for(i=2;i<=k;i++)if(n%i==0)break;if(i>k)return1;elsereturn0;} 15.函数intflag(intx0,intx1,intd[])的功能是:找出x0至x1之间所有能被3整除的数存入d数组中,返回d数组中元素的个数。编写main函数,调用flag函数求出15~50之间所有满足条件的整数。#includevoidmain(){intflag(intx0,intx1,intd[]);intn,i,a[30];n=flag(15,50,a);printf("n=%d\n",n);for(i=0;iprintf("%4d",a[i]);printf("\n");}intflag(intx0,intx1,intd[]){inti,k=0;for(i=x0;i<=x1;i++)if(i%3==0)d[k++]=i;return(k);} 16.编程:从键盘输入N个字符串,输出其中最长的字符串并保存到文件“DATA.DAT”中。#include#include#defineN10voidmain(){FILE*fp;chara[N][80];inti,t[N],max;if((fp=fopen("E:\\DATA16.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;iscanf("%s",&a[i]);for(i=0;it[i]=strlen(a[i]);max=t[0];for(i=0;iif(maxmax=t[i];for(i=0;iif(strlen(a[i])==max){printf("%s",a[i]);fprintf(fp,"%s",a[i]);}fclose(fp);} 17.函数intfun(inta[],intn,intb[])的功能是:求出数组a中n个元素的平均值,将大于平均值的元素存入b数组中,函数返回b数组中元素个数。编写main,通过调用fun,输出大于平均值的元素及元素个数。#includevoidmain(){intfun(inta[],intn,intb[]);inti,aa[10],bb[10],x;for(i=0;i<10;i++)scanf("%d",&aa[i]);x=fun(aa,10,bb);for(i=0;iprintf("%d",bb[i]);printf("\nx=%d\n",x);}intfun(inta[],intn,intb[]){inti,j,sum=0,aver;for(i=0;isum=sum+a[i];aver=sum/n;for(i=0,j=0;iif(a[i]>aver)b[j++]=a[i];return(j);}18.函数voidmove(inta[],intn,intm)的功能是:将有n个元素的数组a中前面各数顺序向后移m个位置,最后m个数变成最前面m个数。编写main,调用move函数,输出变换后的结果。#includevoidmain(){voidmove(inta[],intn,intm);intaa[10]={1,2,3,4,5,6,7,8,9,0},i,m;for(i=0;i<10;i++)printf("%4d",aa[i]);printf("\n");printf("pleaseinputm(m<=10):");scanf("%d",&m);move(aa,10,m);for(i=0;i<10;i++)printf("%4d",aa[i]);printf("\n");}voidmove(inta[],intn,intm){inti,t[10];for(i=0;ifor(i=n-1;i>=m;i--)a[i]=a[i-m];for(i=0;i} 19.函数voidfun(charstr[])的功能是:删除字符数组str中的非字母字符。编写main函数,从键盘输入一个字符串,调用fun函数,输出删除了非字母字符后的字符串。#include#includevoidmain(){voidfun(charstr[]);charc,s[80];inti=0;for(;(c=getchar())!='\n';)s[i++]=c;s[i]='\0';fun(s);}voidfun(charstr[]){inti,t,n;charc[80];n=strlen(str);for(i=0,t=0;iif(str[i]>='A'&&str[i]<='Z'||str[i]>='a'&&str[i]<='z')c[t++]=str[i];c[t]='\0';puts(c);} 20.编程:找出10个整数中的最大数并与第一个数交换位置,找出最小数与最后一个数交换位置,将变换后的结果写入文件dat.txt中。#includevoidmain(){FILE*fp;inti,j,a[10],t,max,min;if((fp=fopen("E:\\DATA1.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<9;i++){max=i;for(j=1;j<10;j++)if(a[max]t=a[max];a[max]=a[9];a[9]=t;min=i;for(j=1;j<10;j++)if(a[min]>a[j])min=j;t=a[min];a[min]=a[0];a[0]=t;}for(i=0;i<10;i++){printf("%d,",a[i]);fprintf(fp,"%d,",a[i]);}printf("\n");fprin
9.编写一个函数voidinvert(intx[],intk,intj),其功能是:
按逆序重新放置x数组中下标k~j的元素。
在main函数中从键盘输入x数组元素,调用invert函数输出结果。
#defineN10
{voidinvert(intx[],intk,intj);
intx[N],i;
for(i=0;iscanf(%d",x[i]);invert(x,2,8);for(i=0;iprintf("%d",x[i]);}voidinvert(intx[],intk,intj){inti,t;for(i=k;i<(k+j)/2;i++){t=x[k];x[k]=x[j];x[j]=t;k++;j--;}} 10.有一个3*4的矩阵,找出每行中最大的元素并与第一列交换,输出原矩阵及处理后的矩阵并保存到文件“DATA.DAT”中。#includevoidmain(){FILE*fp;inti,j,t,lie,max,a[3][4];if((fp=fopen("f:\\DATA10.DAT","w"))==NULL){printf("connotopen\n");exit(0);}for(i=0;i<3;i++)for(j=0;j<4;j++)scanf("%d",&a[i][j]);for(i=0;i<3;i++){max=a[i][0];for(j=0;j<4;j++)if(max{max=a[i][j];lie=j;}t=a[i][lie];a[i][lie]=a[i][0];a[i][0]=t;}for(i=0;i<3;i++){for(j=0;j<4;j++){printf("%4d",a[i][j]);fprintf(fp,"%4d",a[i][j]);}printf("\n");fprintf(fp,"\n");}fclose(fp);} 11.函数voidfun(chars[],charch)的功能是:从字符串s中删除字符ch。要求:在main函数中输入字符串s及要删除的字符ch的值,调用fun函数,输出删除了字符ch后的字符串。例如:从键盘输入cabcdabcdabcxccc和c,输出的结果应该是abdabdabx。#include#includevoidmain(){voidfun(chars[],charch);charstr[81],c;gets(str);scanf("%s",&c);fun(str,c);puts(str);}voidfun(chars[],charch){inti,j;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch)s[j++]=s[i];s[j]='\0';} 12.编程:在N行M列的二维数组中选出最大值,输出最大值及所在的行下标和列下标并保存到文件“DATA.DAT”中。#include#defineN3#defineM4voidmain(){FILE*fp;inti,j,max,a[N][M],hang,lie;if((fp=fopen("E:\\DATA12.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;ifor(j=0;jscanf("%d",&a[i][j]);max=a[0][0];for(i=0;ifor(j=0;jif(max{max=a[i][j];hang=i;lie=j;}printf("max=%d\n",max);fprintf(fp,"max=%d\n",max);printf("hang=%d,lie=%d\n",++hang,++lie);fprintf(fp,"hang=%d,lie=%d\n",++hang,++lie);fclose(fp);} 13.函数intispalin(charstr[])的功能是判断字符串str是否为回文,即顺读和逆读都一样的字符串,若是,返回1;否则返回0。要求:在main函数中从键盘输入字符串str,调用ispalin函数,输出判断结果。例如:输入admda,则输出admda:yes;输入abcdabc,则输出abcdabc:No。#include"stdio.h"#include"string.h"main(){intfun(charstr[]);charstr[81];scanf("%s",str);if(fun(str))printf("%syes\n",str);elseprintf("%sno\n",str);}intfun(charstr[]){inti,j;j=strlen(str)-1;for(i=0;iif(str[i]!=str[j])return(0);return(1);} 14.编写函数intprime(intn),功能为判断n是否为素数,若是,返回1;否则返回0。要求:在main函数中调用函数prime,将2~100以内的所有素数存放到一维数组a中,输出a中的所有元素。#include#includevoidmain(){intprime(intn);inta[50],i,k=0;for(i=2;i<=100;i++)if(prime(i)==1)a[k++]=i;for(i=0;i}intprime(intn){inti,k=sqrt(n);for(i=2;i<=k;i++)if(n%i==0)break;if(i>k)return1;elsereturn0;} 15.函数intflag(intx0,intx1,intd[])的功能是:找出x0至x1之间所有能被3整除的数存入d数组中,返回d数组中元素的个数。编写main函数,调用flag函数求出15~50之间所有满足条件的整数。#includevoidmain(){intflag(intx0,intx1,intd[]);intn,i,a[30];n=flag(15,50,a);printf("n=%d\n",n);for(i=0;iprintf("%4d",a[i]);printf("\n");}intflag(intx0,intx1,intd[]){inti,k=0;for(i=x0;i<=x1;i++)if(i%3==0)d[k++]=i;return(k);} 16.编程:从键盘输入N个字符串,输出其中最长的字符串并保存到文件“DATA.DAT”中。#include#include#defineN10voidmain(){FILE*fp;chara[N][80];inti,t[N],max;if((fp=fopen("E:\\DATA16.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;iscanf("%s",&a[i]);for(i=0;it[i]=strlen(a[i]);max=t[0];for(i=0;iif(maxmax=t[i];for(i=0;iif(strlen(a[i])==max){printf("%s",a[i]);fprintf(fp,"%s",a[i]);}fclose(fp);} 17.函数intfun(inta[],intn,intb[])的功能是:求出数组a中n个元素的平均值,将大于平均值的元素存入b数组中,函数返回b数组中元素个数。编写main,通过调用fun,输出大于平均值的元素及元素个数。#includevoidmain(){intfun(inta[],intn,intb[]);inti,aa[10],bb[10],x;for(i=0;i<10;i++)scanf("%d",&aa[i]);x=fun(aa,10,bb);for(i=0;iprintf("%d",bb[i]);printf("\nx=%d\n",x);}intfun(inta[],intn,intb[]){inti,j,sum=0,aver;for(i=0;isum=sum+a[i];aver=sum/n;for(i=0,j=0;iif(a[i]>aver)b[j++]=a[i];return(j);}18.函数voidmove(inta[],intn,intm)的功能是:将有n个元素的数组a中前面各数顺序向后移m个位置,最后m个数变成最前面m个数。编写main,调用move函数,输出变换后的结果。#includevoidmain(){voidmove(inta[],intn,intm);intaa[10]={1,2,3,4,5,6,7,8,9,0},i,m;for(i=0;i<10;i++)printf("%4d",aa[i]);printf("\n");printf("pleaseinputm(m<=10):");scanf("%d",&m);move(aa,10,m);for(i=0;i<10;i++)printf("%4d",aa[i]);printf("\n");}voidmove(inta[],intn,intm){inti,t[10];for(i=0;ifor(i=n-1;i>=m;i--)a[i]=a[i-m];for(i=0;i} 19.函数voidfun(charstr[])的功能是:删除字符数组str中的非字母字符。编写main函数,从键盘输入一个字符串,调用fun函数,输出删除了非字母字符后的字符串。#include#includevoidmain(){voidfun(charstr[]);charc,s[80];inti=0;for(;(c=getchar())!='\n';)s[i++]=c;s[i]='\0';fun(s);}voidfun(charstr[]){inti,t,n;charc[80];n=strlen(str);for(i=0,t=0;iif(str[i]>='A'&&str[i]<='Z'||str[i]>='a'&&str[i]<='z')c[t++]=str[i];c[t]='\0';puts(c);} 20.编程:找出10个整数中的最大数并与第一个数交换位置,找出最小数与最后一个数交换位置,将变换后的结果写入文件dat.txt中。#includevoidmain(){FILE*fp;inti,j,a[10],t,max,min;if((fp=fopen("E:\\DATA1.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<9;i++){max=i;for(j=1;j<10;j++)if(a[max]t=a[max];a[max]=a[9];a[9]=t;min=i;for(j=1;j<10;j++)if(a[min]>a[j])min=j;t=a[min];a[min]=a[0];a[0]=t;}for(i=0;i<10;i++){printf("%d,",a[i]);fprintf(fp,"%d,",a[i]);}printf("\n");fprin
scanf(%d",x[i]);
invert(x,2,8);
for(i=0;iprintf("%d",x[i]);}voidinvert(intx[],intk,intj){inti,t;for(i=k;i<(k+j)/2;i++){t=x[k];x[k]=x[j];x[j]=t;k++;j--;}} 10.有一个3*4的矩阵,找出每行中最大的元素并与第一列交换,输出原矩阵及处理后的矩阵并保存到文件“DATA.DAT”中。#includevoidmain(){FILE*fp;inti,j,t,lie,max,a[3][4];if((fp=fopen("f:\\DATA10.DAT","w"))==NULL){printf("connotopen\n");exit(0);}for(i=0;i<3;i++)for(j=0;j<4;j++)scanf("%d",&a[i][j]);for(i=0;i<3;i++){max=a[i][0];for(j=0;j<4;j++)if(max{max=a[i][j];lie=j;}t=a[i][lie];a[i][lie]=a[i][0];a[i][0]=t;}for(i=0;i<3;i++){for(j=0;j<4;j++){printf("%4d",a[i][j]);fprintf(fp,"%4d",a[i][j]);}printf("\n");fprintf(fp,"\n");}fclose(fp);} 11.函数voidfun(chars[],charch)的功能是:从字符串s中删除字符ch。要求:在main函数中输入字符串s及要删除的字符ch的值,调用fun函数,输出删除了字符ch后的字符串。例如:从键盘输入cabcdabcdabcxccc和c,输出的结果应该是abdabdabx。#include#includevoidmain(){voidfun(chars[],charch);charstr[81],c;gets(str);scanf("%s",&c);fun(str,c);puts(str);}voidfun(chars[],charch){inti,j;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch)s[j++]=s[i];s[j]='\0';} 12.编程:在N行M列的二维数组中选出最大值,输出最大值及所在的行下标和列下标并保存到文件“DATA.DAT”中。#include#defineN3#defineM4voidmain(){FILE*fp;inti,j,max,a[N][M],hang,lie;if((fp=fopen("E:\\DATA12.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;ifor(j=0;jscanf("%d",&a[i][j]);max=a[0][0];for(i=0;ifor(j=0;jif(max{max=a[i][j];hang=i;lie=j;}printf("max=%d\n",max);fprintf(fp,"max=%d\n",max);printf("hang=%d,lie=%d\n",++hang,++lie);fprintf(fp,"hang=%d,lie=%d\n",++hang,++lie);fclose(fp);} 13.函数intispalin(charstr[])的功能是判断字符串str是否为回文,即顺读和逆读都一样的字符串,若是,返回1;否则返回0。要求:在main函数中从键盘输入字符串str,调用ispalin函数,输出判断结果。例如:输入admda,则输出admda:yes;输入abcdabc,则输出abcdabc:No。#include"stdio.h"#include"string.h"main(){intfun(charstr[]);charstr[81];scanf("%s",str);if(fun(str))printf("%syes\n",str);elseprintf("%sno\n",str);}intfun(charstr[]){inti,j;j=strlen(str)-1;for(i=0;iif(str[i]!=str[j])return(0);return(1);} 14.编写函数intprime(intn),功能为判断n是否为素数,若是,返回1;否则返回0。要求:在main函数中调用函数prime,将2~100以内的所有素数存放到一维数组a中,输出a中的所有元素。#include#includevoidmain(){intprime(intn);inta[50],i,k=0;for(i=2;i<=100;i++)if(prime(i)==1)a[k++]=i;for(i=0;i}intprime(intn){inti,k=sqrt(n);for(i=2;i<=k;i++)if(n%i==0)break;if(i>k)return1;elsereturn0;} 15.函数intflag(intx0,intx1,intd[])的功能是:找出x0至x1之间所有能被3整除的数存入d数组中,返回d数组中元素的个数。编写main函数,调用flag函数求出15~50之间所有满足条件的整数。#includevoidmain(){intflag(intx0,intx1,intd[]);intn,i,a[30];n=flag(15,50,a);printf("n=%d\n",n);for(i=0;iprintf("%4d",a[i]);printf("\n");}intflag(intx0,intx1,intd[]){inti,k=0;for(i=x0;i<=x1;i++)if(i%3==0)d[k++]=i;return(k);} 16.编程:从键盘输入N个字符串,输出其中最长的字符串并保存到文件“DATA.DAT”中。#include#include#defineN10voidmain(){FILE*fp;chara[N][80];inti,t[N],max;if((fp=fopen("E:\\DATA16.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;iscanf("%s",&a[i]);for(i=0;it[i]=strlen(a[i]);max=t[0];for(i=0;iif(maxmax=t[i];for(i=0;iif(strlen(a[i])==max){printf("%s",a[i]);fprintf(fp,"%s",a[i]);}fclose(fp);} 17.函数intfun(inta[],intn,intb[])的功能是:求出数组a中n个元素的平均值,将大于平均值的元素存入b数组中,函数返回b数组中元素个数。编写main,通过调用fun,输出大于平均值的元素及元素个数。#includevoidmain(){intfun(inta[],intn,intb[]);inti,aa[10],bb[10],x;for(i=0;i<10;i++)scanf("%d",&aa[i]);x=fun(aa,10,bb);for(i=0;iprintf("%d",bb[i]);printf("\nx=%d\n",x);}intfun(inta[],intn,intb[]){inti,j,sum=0,aver;for(i=0;isum=sum+a[i];aver=sum/n;for(i=0,j=0;iif(a[i]>aver)b[j++]=a[i];return(j);}18.函数voidmove(inta[],intn,intm)的功能是:将有n个元素的数组a中前面各数顺序向后移m个位置,最后m个数变成最前面m个数。编写main,调用move函数,输出变换后的结果。#includevoidmain(){voidmove(inta[],intn,intm);intaa[10]={1,2,3,4,5,6,7,8,9,0},i,m;for(i=0;i<10;i++)printf("%4d",aa[i]);printf("\n");printf("pleaseinputm(m<=10):");scanf("%d",&m);move(aa,10,m);for(i=0;i<10;i++)printf("%4d",aa[i]);printf("\n");}voidmove(inta[],intn,intm){inti,t[10];for(i=0;ifor(i=n-1;i>=m;i--)a[i]=a[i-m];for(i=0;i} 19.函数voidfun(charstr[])的功能是:删除字符数组str中的非字母字符。编写main函数,从键盘输入一个字符串,调用fun函数,输出删除了非字母字符后的字符串。#include#includevoidmain(){voidfun(charstr[]);charc,s[80];inti=0;for(;(c=getchar())!='\n';)s[i++]=c;s[i]='\0';fun(s);}voidfun(charstr[]){inti,t,n;charc[80];n=strlen(str);for(i=0,t=0;iif(str[i]>='A'&&str[i]<='Z'||str[i]>='a'&&str[i]<='z')c[t++]=str[i];c[t]='\0';puts(c);} 20.编程:找出10个整数中的最大数并与第一个数交换位置,找出最小数与最后一个数交换位置,将变换后的结果写入文件dat.txt中。#includevoidmain(){FILE*fp;inti,j,a[10],t,max,min;if((fp=fopen("E:\\DATA1.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<9;i++){max=i;for(j=1;j<10;j++)if(a[max]t=a[max];a[max]=a[9];a[9]=t;min=i;for(j=1;j<10;j++)if(a[min]>a[j])min=j;t=a[min];a[min]=a[0];a[0]=t;}for(i=0;i<10;i++){printf("%d,",a[i]);fprintf(fp,"%d,",a[i]);}printf("\n");fprin
printf("%d",x[i]);
voidinvert(intx[],intk,intj)
{inti,t;
for(i=k;i<(k+j)/2;i++)
{t=x[k];
x[k]=x[j];
x[j]=t;
k++;
j--;
10.有一个3*4的矩阵,找出每行中最大的元素并与第一列交换,输出原矩阵及处理后的矩阵并保存到文件“DATA.DAT”中。
inti,j,t,lie,max,a[3][4];
if((fp=fopen("f:
\\DATA10.DAT","w"))==NULL)
{printf("connotopen\n");
for(i=0;i<3;i++)
scanf("%d",&a[i][j]);
{max=a[i][0];
if(max{max=a[i][j];lie=j;}t=a[i][lie];a[i][lie]=a[i][0];a[i][0]=t;}for(i=0;i<3;i++){for(j=0;j<4;j++){printf("%4d",a[i][j]);fprintf(fp,"%4d",a[i][j]);}printf("\n");fprintf(fp,"\n");}fclose(fp);} 11.函数voidfun(chars[],charch)的功能是:从字符串s中删除字符ch。要求:在main函数中输入字符串s及要删除的字符ch的值,调用fun函数,输出删除了字符ch后的字符串。例如:从键盘输入cabcdabcdabcxccc和c,输出的结果应该是abdabdabx。#include#includevoidmain(){voidfun(chars[],charch);charstr[81],c;gets(str);scanf("%s",&c);fun(str,c);puts(str);}voidfun(chars[],charch){inti,j;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch)s[j++]=s[i];s[j]='\0';} 12.编程:在N行M列的二维数组中选出最大值,输出最大值及所在的行下标和列下标并保存到文件“DATA.DAT”中。#include#defineN3#defineM4voidmain(){FILE*fp;inti,j,max,a[N][M],hang,lie;if((fp=fopen("E:\\DATA12.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;ifor(j=0;jscanf("%d",&a[i][j]);max=a[0][0];for(i=0;ifor(j=0;jif(max{max=a[i][j];hang=i;lie=j;}printf("max=%d\n",max);fprintf(fp,"max=%d\n",max);printf("hang=%d,lie=%d\n",++hang,++lie);fprintf(fp,"hang=%d,lie=%d\n",++hang,++lie);fclose(fp);} 13.函数intispalin(charstr[])的功能是判断字符串str是否为回文,即顺读和逆读都一样的字符串,若是,返回1;否则返回0。要求:在main函数中从键盘输入字符串str,调用ispalin函数,输出判断结果。例如:输入admda,则输出admda:yes;输入abcdabc,则输出abcdabc:No。#include"stdio.h"#include"string.h"main(){intfun(charstr[]);charstr[81];scanf("%s",str);if(fun(str))printf("%syes\n",str);elseprintf("%sno\n",str);}intfun(charstr[]){inti,j;j=strlen(str)-1;for(i=0;iif(str[i]!=str[j])return(0);return(1);} 14.编写函数intprime(intn),功能为判断n是否为素数,若是,返回1;否则返回0。要求:在main函数中调用函数prime,将2~100以内的所有素数存放到一维数组a中,输出a中的所有元素。#include#includevoidmain(){intprime(intn);inta[50],i,k=0;for(i=2;i<=100;i++)if(prime(i)==1)a[k++]=i;for(i=0;i}intprime(intn){inti,k=sqrt(n);for(i=2;i<=k;i++)if(n%i==0)break;if(i>k)return1;elsereturn0;} 15.函数intflag(intx0,intx1,intd[])的功能是:找出x0至x1之间所有能被3整除的数存入d数组中,返回d数组中元素的个数。编写main函数,调用flag函数求出15~50之间所有满足条件的整数。#includevoidmain(){intflag(intx0,intx1,intd[]);intn,i,a[30];n=flag(15,50,a);printf("n=%d\n",n);for(i=0;iprintf("%4d",a[i]);printf("\n");}intflag(intx0,intx1,intd[]){inti,k=0;for(i=x0;i<=x1;i++)if(i%3==0)d[k++]=i;return(k);} 16.编程:从键盘输入N个字符串,输出其中最长的字符串并保存到文件“DATA.DAT”中。#include#include#defineN10voidmain(){FILE*fp;chara[N][80];inti,t[N],max;if((fp=fopen("E:\\DATA16.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;iscanf("%s",&a[i]);for(i=0;it[i]=strlen(a[i]);max=t[0];for(i=0;iif(maxmax=t[i];for(i=0;iif(strlen(a[i])==max){printf("%s",a[i]);fprintf(fp,"%s",a[i]);}fclose(fp);} 17.函数intfun(inta[],intn,intb[])的功能是:求出数组a中n个元素的平均值,将大于平均值的元素存入b数组中,函数返回b数组中元素个数。编写main,通过调用fun,输出大于平均值的元素及元素个数。#includevoidmain(){intfun(inta[],intn,intb[]);inti,aa[10],bb[10],x;for(i=0;i<10;i++)scanf("%d",&aa[i]);x=fun(aa,10,bb);for(i=0;iprintf("%d",bb[i]);printf("\nx=%d\n",x);}intfun(inta[],intn,intb[]){inti,j,sum=0,aver;for(i=0;isum=sum+a[i];aver=sum/n;for(i=0,j=0;iif(a[i]>aver)b[j++]=a[i];return(j);}18.函数voidmove(inta[],intn,intm)的功能是:将有n个元素的数组a中前面各数顺序向后移m个位置,最后m个数变成最前面m个数。编写main,调用move函数,输出变换后的结果。#includevoidmain(){voidmove(inta[],intn,intm);intaa[10]={1,2,3,4,5,6,7,8,9,0},i,m;for(i=0;i<10;i++)printf("%4d",aa[i]);printf("\n");printf("pleaseinputm(m<=10):");scanf("%d",&m);move(aa,10,m);for(i=0;i<10;i++)printf("%4d",aa[i]);printf("\n");}voidmove(inta[],intn,intm){inti,t[10];for(i=0;ifor(i=n-1;i>=m;i--)a[i]=a[i-m];for(i=0;i} 19.函数voidfun(charstr[])的功能是:删除字符数组str中的非字母字符。编写main函数,从键盘输入一个字符串,调用fun函数,输出删除了非字母字符后的字符串。#include#includevoidmain(){voidfun(charstr[]);charc,s[80];inti=0;for(;(c=getchar())!='\n';)s[i++]=c;s[i]='\0';fun(s);}voidfun(charstr[]){inti,t,n;charc[80];n=strlen(str);for(i=0,t=0;iif(str[i]>='A'&&str[i]<='Z'||str[i]>='a'&&str[i]<='z')c[t++]=str[i];c[t]='\0';puts(c);} 20.编程:找出10个整数中的最大数并与第一个数交换位置,找出最小数与最后一个数交换位置,将变换后的结果写入文件dat.txt中。#includevoidmain(){FILE*fp;inti,j,a[10],t,max,min;if((fp=fopen("E:\\DATA1.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<9;i++){max=i;for(j=1;j<10;j++)if(a[max]t=a[max];a[max]=a[9];a[9]=t;min=i;for(j=1;j<10;j++)if(a[min]>a[j])min=j;t=a[min];a[min]=a[0];a[0]=t;}for(i=0;i<10;i++){printf("%d,",a[i]);fprintf(fp,"%d,",a[i]);}printf("\n");fprin
{max=a[i][j];
lie=j;}
t=a[i][lie];a[i][lie]=a[i][0];a[i][0]=t;
{for(j=0;j<4;j++)
{printf("%4d",a[i][j]);
fprintf(fp,"%4d",a[i][j]);}
fprintf(fp,"\n");}
11.函数voidfun(chars[],charch)的功能是:
从字符串s中删除字符ch。
在main函数中输入字符串s及要删除的字符ch的值,调用fun函数,输出删除了字符ch后的字符串。
例如:
从键盘输入cabcdabcdabcxccc和c,输出的结果应该是abdabdabx。
{voidfun(chars[],charch);
charstr[81],c;
gets(str);
scanf("%s",&c);
fun(str,c);
puts(str);
voidfun(chars[],charch)
for(i=j=0;s[i]!
='\0';i++)
if(s[i]!
=ch)
s[j++]=s[i];
s[j]='\0';
12.编程:
在N行M列的二维数组中选出最大值,输出最大值及所在的行下标和列下标并保存到文件“DATA.DAT”中。
#defineN3
#defineM4
inti,j,max,a[N][M],hang,lie;
\\DATA12.DAT","w"))==NULL)
for(i=0;ifor(j=0;jscanf("%d",&a[i][j]);max=a[0][0];for(i=0;ifor(j=0;jif(max{max=a[i][j];hang=i;lie=j;}printf("max=%d\n",max);fprintf(fp,"max=%d\n",max);printf("hang=%d,lie=%d\n",++hang,++lie);fprintf(fp,"hang=%d,lie=%d\n",++hang,++lie);fclose(fp);} 13.函数intispalin(charstr[])的功能是判断字符串str是否为回文,即顺读和逆读都一样的字符串,若是,返回1;否则返回0。要求:在main函数中从键盘输入字符串str,调用ispalin函数,输出判断结果。例如:输入admda,则输出admda:yes;输入abcdabc,则输出abcdabc:No。#include"stdio.h"#include"string.h"main(){intfun(charstr[]);charstr[81];scanf("%s",str);if(fun(str))printf("%syes\n",str);elseprintf("%sno\n",str);}intfun(charstr[]){inti,j;j=strlen(str)-1;for(i=0;iif(str[i]!=str[j])return(0);return(1);} 14.编写函数intprime(intn),功能为判断n是否为素数,若是,返回1;否则返回0。要求:在main函数中调用函数prime,将2~100以内的所有素数存放到一维数组a中,输出a中的所有元素。#include#includevoidmain(){intprime(intn);inta[50],i,k=0;for(i=2;i<=100;i++)if(prime(i)==1)a[k++]=i;for(i=0;i}intprime(intn){inti,k=sqrt(n);for(i=2;i<=k;i++)if(n%i==0)break;if(i>k)return1;elsereturn0;} 15.函数intflag(intx0,intx1,intd[])的功能是:找出x0至x1之间所有能被3整除的数存入d数组中,返回d数组中元素的个数。编写main函数,调用flag函数求出15~50之间所有满足条件的整数。#includevoidmain(){intflag(intx0,intx1,intd[]);intn,i,a[30];n=flag(15,50,a);printf("n=%d\n",n);for(i=0;iprintf("%4d",a[i]);printf("\n");}intflag(intx0,intx1,intd[]){inti,k=0;for(i=x0;i<=x1;i++)if(i%3==0)d[k++]=i;return(k);} 16.编程:从键盘输入N个字符串,输出其中最长的字符串并保存到文件“DATA.DAT”中。#include#include#defineN10voidmain(){FILE*fp;chara[N][80];inti,t[N],max;if((fp=fopen("E:\\DATA16.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;iscanf("%s",&a[i]);for(i=0;it[i]=strlen(a[i]);max=t[0];for(i=0;iif(maxmax=t[i];for(i=0;iif(strlen(a[i])==max){printf("%s",a[i]);fprintf(fp,"%s",a[i]);}fclose(fp);} 17.函数intfun(inta[],intn,intb[])的功能是:求出数组a中n个元素的平均值,将大于平均值的元素存入b数组中,函数返回b数组中元素个数。编写main,通过调用fun,输出大于平均值的元素及元素个数。#includevoidmain(){intfun(inta[],intn,intb[]);inti,aa[10],bb[10],x;for(i=0;i<10;i++)scanf("%d",&aa[i]);x=fun(aa,10,bb);for(i=0;iprintf("%d",bb[i]);printf("\nx=%d\n",x);}intfun(inta[],intn,intb[]){inti,j,sum=0,aver;for(i=0;isum=sum+a[i];aver=sum/n;for(i=0,j=0;iif(a[i]>aver)b[j++]=a[i];return(j);}18.函数voidmove(inta[],intn,intm)的功能是:将有n个元素的数组a中前面各数顺序向后移m个位置,最后m个数变成最前面m个数。编写main,调用move函数,输出变换后的结果。#includevoidmain(){voidmove(inta[],intn,intm);intaa[10]={1,2,3,4,5,6,7,8,9,0},i,m;for(i=0;i<10;i++)printf("%4d",aa[i]);printf("\n");printf("pleaseinputm(m<=10):");scanf("%d",&m);move(aa,10,m);for(i=0;i<10;i++)printf("%4d",aa[i]);printf("\n");}voidmove(inta[],intn,intm){inti,t[10];for(i=0;ifor(i=n-1;i>=m;i--)a[i]=a[i-m];for(i=0;i} 19.函数voidfun(charstr[])的功能是:删除字符数组str中的非字母字符。编写main函数,从键盘输入一个字符串,调用fun函数,输出删除了非字母字符后的字符串。#include#includevoidmain(){voidfun(charstr[]);charc,s[80];inti=0;for(;(c=getchar())!='\n';)s[i++]=c;s[i]='\0';fun(s);}voidfun(charstr[]){inti,t,n;charc[80];n=strlen(str);for(i=0,t=0;iif(str[i]>='A'&&str[i]<='Z'||str[i]>='a'&&str[i]<='z')c[t++]=str[i];c[t]='\0';puts(c);} 20.编程:找出10个整数中的最大数并与第一个数交换位置,找出最小数与最后一个数交换位置,将变换后的结果写入文件dat.txt中。#includevoidmain(){FILE*fp;inti,j,a[10],t,max,min;if((fp=fopen("E:\\DATA1.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<9;i++){max=i;for(j=1;j<10;j++)if(a[max]t=a[max];a[max]=a[9];a[9]=t;min=i;for(j=1;j<10;j++)if(a[min]>a[j])min=j;t=a[min];a[min]=a[0];a[0]=t;}for(i=0;i<10;i++){printf("%d,",a[i]);fprintf(fp,"%d,",a[i]);}printf("\n");fprin
for(j=0;jscanf("%d",&a[i][j]);max=a[0][0];for(i=0;ifor(j=0;jif(max{max=a[i][j];hang=i;lie=j;}printf("max=%d\n",max);fprintf(fp,"max=%d\n",max);printf("hang=%d,lie=%d\n",++hang,++lie);fprintf(fp,"hang=%d,lie=%d\n",++hang,++lie);fclose(fp);} 13.函数intispalin(charstr[])的功能是判断字符串str是否为回文,即顺读和逆读都一样的字符串,若是,返回1;否则返回0。要求:在main函数中从键盘输入字符串str,调用ispalin函数,输出判断结果。例如:输入admda,则输出admda:yes;输入abcdabc,则输出abcdabc:No。#include"stdio.h"#include"string.h"main(){intfun(charstr[]);charstr[81];scanf("%s",str);if(fun(str))printf("%syes\n",str);elseprintf("%sno\n",str);}intfun(charstr[]){inti,j;j=strlen(str)-1;for(i=0;iif(str[i]!=str[j])return(0);return(1);} 14.编写函数intprime(intn),功能为判断n是否为素数,若是,返回1;否则返回0。要求:在main函数中调用函数prime,将2~100以内的所有素数存放到一维数组a中,输出a中的所有元素。#include#includevoidmain(){intprime(intn);inta[50],i,k=0;for(i=2;i<=100;i++)if(prime(i)==1)a[k++]=i;for(i=0;i}intprime(intn){inti,k=sqrt(n);for(i=2;i<=k;i++)if(n%i==0)break;if(i>k)return1;elsereturn0;} 15.函数intflag(intx0,intx1,intd[])的功能是:找出x0至x1之间所有能被3整除的数存入d数组中,返回d数组中元素的个数。编写main函数,调用flag函数求出15~50之间所有满足条件的整数。#includevoidmain(){intflag(intx0,intx1,intd[]);intn,i,a[30];n=flag(15,50,a);printf("n=%d\n",n);for(i=0;iprintf("%4d",a[i]);printf("\n");}intflag(intx0,intx1,intd[]){inti,k=0;for(i=x0;i<=x1;i++)if(i%3==0)d[k++]=i;return(k);} 16.编程:从键盘输入N个字符串,输出其中最长的字符串并保存到文件“DATA.DAT”中。#include#include#defineN10voidmain(){FILE*fp;chara[N][80];inti,t[N],max;if((fp=fopen("E:\\DATA16.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;iscanf("%s",&a[i]);for(i=0;it[i]=strlen(a[i]);max=t[0];for(i=0;iif(maxmax=t[i];for(i=0;iif(strlen(a[i])==max){printf("%s",a[i]);fprintf(fp,"%s",a[i]);}fclose(fp);} 17.函数intfun(inta[],intn,intb[])的功能是:求出数组a中n个元素的平均值,将大于平均值的元素存入b数组中,函数返回b数组中元素个数。编写main,通过调用fun,输出大于平均值的元素及元素个数。#includevoidmain(){intfun(inta[],intn,intb[]);inti,aa[10],bb[10],x;for(i=0;i<10;i++)scanf("%d",&aa[i]);x=fun(aa,10,bb);for(i=0;iprintf("%d",bb[i]);printf("\nx=%d\n",x);}intfun(inta[],intn,intb[]){inti,j,sum=0,aver;for(i=0;isum=sum+a[i];aver=sum/n;for(i=0,j=0;iif(a[i]>aver)b[j++]=a[i];return(j);}18.函数voidmove(inta[],intn,intm)的功能是:将有n个元素的数组a中前面各数顺序向后移m个位置,最后m个数变成最前面m个数。编写main,调用move函数,输出变换后的结果。#includevoidmain(){voidmove(inta[],intn,intm);intaa[10]={1,2,3,4,5,6,7,8,9,0},i,m;for(i=0;i<10;i++)printf("%4d",aa[i]);printf("\n");printf("pleaseinputm(m<=10):");scanf("%d",&m);move(aa,10,m);for(i=0;i<10;i++)printf("%4d",aa[i]);printf("\n");}voidmove(inta[],intn,intm){inti,t[10];for(i=0;ifor(i=n-1;i>=m;i--)a[i]=a[i-m];for(i=0;i} 19.函数voidfun(charstr[])的功能是:删除字符数组str中的非字母字符。编写main函数,从键盘输入一个字符串,调用fun函数,输出删除了非字母字符后的字符串。#include#includevoidmain(){voidfun(charstr[]);charc,s[80];inti=0;for(;(c=getchar())!='\n';)s[i++]=c;s[i]='\0';fun(s);}voidfun(charstr[]){inti,t,n;charc[80];n=strlen(str);for(i=0,t=0;iif(str[i]>='A'&&str[i]<='Z'||str[i]>='a'&&str[i]<='z')c[t++]=str[i];c[t]='\0';puts(c);} 20.编程:找出10个整数中的最大数并与第一个数交换位置,找出最小数与最后一个数交换位置,将变换后的结果写入文件dat.txt中。#includevoidmain(){FILE*fp;inti,j,a[10],t,max,min;if((fp=fopen("E:\\DATA1.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<9;i++){max=i;for(j=1;j<10;j++)if(a[max]t=a[max];a[max]=a[9];a[9]=t;min=i;for(j=1;j<10;j++)if(a[min]>a[j])min=j;t=a[min];a[min]=a[0];a[0]=t;}for(i=0;i<10;i++){printf("%d,",a[i]);fprintf(fp,"%d,",a[i]);}printf("\n");fprin
max=a[0][0];
for(i=0;ifor(j=0;jif(max{max=a[i][j];hang=i;lie=j;}printf("max=%d\n",max);fprintf(fp,"max=%d\n",max);printf("hang=%d,lie=%d\n",++hang,++lie);fprintf(fp,"hang=%d,lie=%d\n",++hang,++lie);fclose(fp);} 13.函数intispalin(charstr[])的功能是判断字符串str是否为回文,即顺读和逆读都一样的字符串,若是,返回1;否则返回0。要求:在main函数中从键盘输入字符串str,调用ispalin函数,输出判断结果。例如:输入admda,则输出admda:yes;输入abcdabc,则输出abcdabc:No。#include"stdio.h"#include"string.h"main(){intfun(charstr[]);charstr[81];scanf("%s",str);if(fun(str))printf("%syes\n",str);elseprintf("%sno\n",str);}intfun(charstr[]){inti,j;j=strlen(str)-1;for(i=0;iif(str[i]!=str[j])return(0);return(1);} 14.编写函数intprime(intn),功能为判断n是否为素数,若是,返回1;否则返回0。要求:在main函数中调用函数prime,将2~100以内的所有素数存放到一维数组a中,输出a中的所有元素。#include#includevoidmain(){intprime(intn);inta[50],i,k=0;for(i=2;i<=100;i++)if(prime(i)==1)a[k++]=i;for(i=0;i}intprime(intn){inti,k=sqrt(n);for(i=2;i<=k;i++)if(n%i==0)break;if(i>k)return1;elsereturn0;} 15.函数intflag(intx0,intx1,intd[])的功能是:找出x0至x1之间所有能被3整除的数存入d数组中,返回d数组中元素的个数。编写main函数,调用flag函数求出15~50之间所有满足条件的整数。#includevoidmain(){intflag(intx0,intx1,intd[]);intn,i,a[30];n=flag(15,50,a);printf("n=%d\n",n);for(i=0;iprintf("%4d",a[i]);printf("\n");}intflag(intx0,intx1,intd[]){inti,k=0;for(i=x0;i<=x1;i++)if(i%3==0)d[k++]=i;return(k);} 16.编程:从键盘输入N个字符串,输出其中最长的字符串并保存到文件“DATA.DAT”中。#include#include#defineN10voidmain(){FILE*fp;chara[N][80];inti,t[N],max;if((fp=fopen("E:\\DATA16.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;iscanf("%s",&a[i]);for(i=0;it[i]=strlen(a[i]);max=t[0];for(i=0;iif(maxmax=t[i];for(i=0;iif(strlen(a[i])==max){printf("%s",a[i]);fprintf(fp,"%s",a[i]);}fclose(fp);} 17.函数intfun(inta[],intn,intb[])的功能是:求出数组a中n个元素的平均值,将大于平均值的元素存入b数组中,函数返回b数组中元素个数。编写main,通过调用fun,输出大于平均值的元素及元素个数。#includevoidmain(){intfun(inta[],intn,intb[]);inti,aa[10],bb[10],x;for(i=0;i<10;i++)scanf("%d",&aa[i]);x=fun(aa,10,bb);for(i=0;iprintf("%d",bb[i]);printf("\nx=%d\n",x);}intfun(inta[],intn,intb[]){inti,j,sum=0,aver;for(i=0;isum=sum+a[i];aver=sum/n;for(i=0,j=0;iif(a[i]>aver)b[j++]=a[i];return(j);}18.函数voidmove(inta[],intn,intm)的功能是:将有n个元素的数组a中前面各数顺序向后移m个位置,最后m个数变成最前面m个数。编写main,调用move函数,输出变换后的结果。#includevoidmain(){voidmove(inta[],intn,intm);intaa[10]={1,2,3,4,5,6,7,8,9,0},i,m;for(i=0;i<10;i++)printf("%4d",aa[i]);printf("\n");printf("pleaseinputm(m<=10):");scanf("%d",&m);move(aa,10,m);for(i=0;i<10;i++)printf("%4d",aa[i]);printf("\n");}voidmove(inta[],intn,intm){inti,t[10];for(i=0;ifor(i=n-1;i>=m;i--)a[i]=a[i-m];for(i=0;i} 19.函数voidfun(charstr[])的功能是:删除字符数组str中的非字母字符。编写main函数,从键盘输入一个字符串,调用fun函数,输出删除了非字母字符后的字符串。#include#includevoidmain(){voidfun(charstr[]);charc,s[80];inti=0;for(;(c=getchar())!='\n';)s[i++]=c;s[i]='\0';fun(s);}voidfun(charstr[]){inti,t,n;charc[80];n=strlen(str);for(i=0,t=0;iif(str[i]>='A'&&str[i]<='Z'||str[i]>='a'&&str[i]<='z')c[t++]=str[i];c[t]='\0';puts(c);} 20.编程:找出10个整数中的最大数并与第一个数交换位置,找出最小数与最后一个数交换位置,将变换后的结果写入文件dat.txt中。#includevoidmain(){FILE*fp;inti,j,a[10],t,max,min;if((fp=fopen("E:\\DATA1.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<9;i++){max=i;for(j=1;j<10;j++)if(a[max]t=a[max];a[max]=a[9];a[9]=t;min=i;for(j=1;j<10;j++)if(a[min]>a[j])min=j;t=a[min];a[min]=a[0];a[0]=t;}for(i=0;i<10;i++){printf("%d,",a[i]);fprintf(fp,"%d,",a[i]);}printf("\n");fprin
for(j=0;jif(max{max=a[i][j];hang=i;lie=j;}printf("max=%d\n",max);fprintf(fp,"max=%d\n",max);printf("hang=%d,lie=%d\n",++hang,++lie);fprintf(fp,"hang=%d,lie=%d\n",++hang,++lie);fclose(fp);} 13.函数intispalin(charstr[])的功能是判断字符串str是否为回文,即顺读和逆读都一样的字符串,若是,返回1;否则返回0。要求:在main函数中从键盘输入字符串str,调用ispalin函数,输出判断结果。例如:输入admda,则输出admda:yes;输入abcdabc,则输出abcdabc:No。#include"stdio.h"#include"string.h"main(){intfun(charstr[]);charstr[81];scanf("%s",str);if(fun(str))printf("%syes\n",str);elseprintf("%sno\n",str);}intfun(charstr[]){inti,j;j=strlen(str)-1;for(i=0;iif(str[i]!=str[j])return(0);return(1);} 14.编写函数intprime(intn),功能为判断n是否为素数,若是,返回1;否则返回0。要求:在main函数中调用函数prime,将2~100以内的所有素数存放到一维数组a中,输出a中的所有元素。#include#includevoidmain(){intprime(intn);inta[50],i,k=0;for(i=2;i<=100;i++)if(prime(i)==1)a[k++]=i;for(i=0;i}intprime(intn){inti,k=sqrt(n);for(i=2;i<=k;i++)if(n%i==0)break;if(i>k)return1;elsereturn0;} 15.函数intflag(intx0,intx1,intd[])的功能是:找出x0至x1之间所有能被3整除的数存入d数组中,返回d数组中元素的个数。编写main函数,调用flag函数求出15~50之间所有满足条件的整数。#includevoidmain(){intflag(intx0,intx1,intd[]);intn,i,a[30];n=flag(15,50,a);printf("n=%d\n",n);for(i=0;iprintf("%4d",a[i]);printf("\n");}intflag(intx0,intx1,intd[]){inti,k=0;for(i=x0;i<=x1;i++)if(i%3==0)d[k++]=i;return(k);} 16.编程:从键盘输入N个字符串,输出其中最长的字符串并保存到文件“DATA.DAT”中。#include#include#defineN10voidmain(){FILE*fp;chara[N][80];inti,t[N],max;if((fp=fopen("E:\\DATA16.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;iscanf("%s",&a[i]);for(i=0;it[i]=strlen(a[i]);max=t[0];for(i=0;iif(maxmax=t[i];for(i=0;iif(strlen(a[i])==max){printf("%s",a[i]);fprintf(fp,"%s",a[i]);}fclose(fp);} 17.函数intfun(inta[],intn,intb[])的功能是:求出数组a中n个元素的平均值,将大于平均值的元素存入b数组中,函数返回b数组中元素个数。编写main,通过调用fun,输出大于平均值的元素及元素个数。#includevoidmain(){intfun(inta[],intn,intb[]);inti,aa[10],bb[10],x;for(i=0;i<10;i++)scanf("%d",&aa[i]);x=fun(aa,10,bb);for(i=0;iprintf("%d",bb[i]);printf("\nx=%d\n",x);}intfun(inta[],intn,intb[]){inti,j,sum=0,aver;for(i=0;isum=sum+a[i];aver=sum/n;for(i=0,j=0;iif(a[i]>aver)b[j++]=a[i];return(j);}18.函数voidmove(inta[],intn,intm)的功能是:将有n个元素的数组a中前面各数顺序向后移m个位置,最后m个数变成最前面m个数。编写main,调用move函数,输出变换后的结果。#includevoidmain(){voidmove(inta[],intn,intm);intaa[10]={1,2,3,4,5,6,7,8,9,0},i,m;for(i=0;i<10;i++)printf("%4d",aa[i]);printf("\n");printf("pleaseinputm(m<=10):");scanf("%d",&m);move(aa,10,m);for(i=0;i<10;i++)printf("%4d",aa[i]);printf("\n");}voidmove(inta[],intn,intm){inti,t[10];for(i=0;ifor(i=n-1;i>=m;i--)a[i]=a[i-m];for(i=0;i} 19.函数voidfun(charstr[])的功能是:删除字符数组str中的非字母字符。编写main函数,从键盘输入一个字符串,调用fun函数,输出删除了非字母字符后的字符串。#include#includevoidmain(){voidfun(charstr[]);charc,s[80];inti=0;for(;(c=getchar())!='\n';)s[i++]=c;s[i]='\0';fun(s);}voidfun(charstr[]){inti,t,n;charc[80];n=strlen(str);for(i=0,t=0;iif(str[i]>='A'&&str[i]<='Z'||str[i]>='a'&&str[i]<='z')c[t++]=str[i];c[t]='\0';puts(c);} 20.编程:找出10个整数中的最大数并与第一个数交换位置,找出最小数与最后一个数交换位置,将变换后的结果写入文件dat.txt中。#includevoidmain(){FILE*fp;inti,j,a[10],t,max,min;if((fp=fopen("E:\\DATA1.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<9;i++){max=i;for(j=1;j<10;j++)if(a[max]t=a[max];a[max]=a[9];a[9]=t;min=i;for(j=1;j<10;j++)if(a[min]>a[j])min=j;t=a[min];a[min]=a[0];a[0]=t;}for(i=0;i<10;i++){printf("%d,",a[i]);fprintf(fp,"%d,",a[i]);}printf("\n");fprin
if(max{max=a[i][j];hang=i;lie=j;}printf("max=%d\n",max);fprintf(fp,"max=%d\n",max);printf("hang=%d,lie=%d\n",++hang,++lie);fprintf(fp,"hang=%d,lie=%d\n",++hang,++lie);fclose(fp);} 13.函数intispalin(charstr[])的功能是判断字符串str是否为回文,即顺读和逆读都一样的字符串,若是,返回1;否则返回0。要求:在main函数中从键盘输入字符串str,调用ispalin函数,输出判断结果。例如:输入admda,则输出admda:yes;输入abcdabc,则输出abcdabc:No。#include"stdio.h"#include"string.h"main(){intfun(charstr[]);charstr[81];scanf("%s",str);if(fun(str))printf("%syes\n",str);elseprintf("%sno\n",str);}intfun(charstr[]){inti,j;j=strlen(str)-1;for(i=0;iif(str[i]!=str[j])return(0);return(1);} 14.编写函数intprime(intn),功能为判断n是否为素数,若是,返回1;否则返回0。要求:在main函数中调用函数prime,将2~100以内的所有素数存放到一维数组a中,输出a中的所有元素。#include#includevoidmain(){intprime(intn);inta[50],i,k=0;for(i=2;i<=100;i++)if(prime(i)==1)a[k++]=i;for(i=0;i}intprime(intn){inti,k=sqrt(n);for(i=2;i<=k;i++)if(n%i==0)break;if(i>k)return1;elsereturn0;} 15.函数intflag(intx0,intx1,intd[])的功能是:找出x0至x1之间所有能被3整除的数存入d数组中,返回d数组中元素的个数。编写main函数,调用flag函数求出15~50之间所有满足条件的整数。#includevoidmain(){intflag(intx0,intx1,intd[]);intn,i,a[30];n=flag(15,50,a);printf("n=%d\n",n);for(i=0;iprintf("%4d",a[i]);printf("\n");}intflag(intx0,intx1,intd[]){inti,k=0;for(i=x0;i<=x1;i++)if(i%3==0)d[k++]=i;return(k);} 16.编程:从键盘输入N个字符串,输出其中最长的字符串并保存到文件“DATA.DAT”中。#include#include#defineN10voidmain(){FILE*fp;chara[N][80];inti,t[N],max;if((fp=fopen("E:\\DATA16.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;iscanf("%s",&a[i]);for(i=0;it[i]=strlen(a[i]);max=t[0];for(i=0;iif(maxmax=t[i];for(i=0;iif(strlen(a[i])==max){printf("%s",a[i]);fprintf(fp,"%s",a[i]);}fclose(fp);} 17.函数intfun(inta[],intn,intb[])的功能是:求出数组a中n个元素的平均值,将大于平均值的元素存入b数组中,函数返回b数组中元素个数。编写main,通过调用fun,输出大于平均值的元素及元素个数。#includevoidmain(){intfun(inta[],intn,intb[]);inti,aa[10],bb[10],x;for(i=0;i<10;i++)scanf("%d",&aa[i]);x=fun(aa,10,bb);for(i=0;iprintf("%d",bb[i]);printf("\nx=%d\n",x);}intfun(inta[],intn,intb[]){inti,j,sum=0,aver;for(i=0;isum=sum+a[i];aver=sum/n;for(i=0,j=0;iif(a[i]>aver)b[j++]=a[i];return(j);}18.函数voidmove(inta[],intn,intm)的功能是:将有n个元素的数组a中前面各数顺序向后移m个位置,最后m个数变成最前面m个数。编写main,调用move函数,输出变换后的结果。#includevoidmain(){voidmove(inta[],intn,intm);intaa[10]={1,2,3,4,5,6,7,8,9,0},i,m;for(i=0;i<10;i++)printf("%4d",aa[i]);printf("\n");printf("pleaseinputm(m<=10):");scanf("%d",&m);move(aa,10,m);for(i=0;i<10;i++)printf("%4d",aa[i]);printf("\n");}voidmove(inta[],intn,intm){inti,t[10];for(i=0;ifor(i=n-1;i>=m;i--)a[i]=a[i-m];for(i=0;i} 19.函数voidfun(charstr[])的功能是:删除字符数组str中的非字母字符。编写main函数,从键盘输入一个字符串,调用fun函数,输出删除了非字母字符后的字符串。#include#includevoidmain(){voidfun(charstr[]);charc,s[80];inti=0;for(;(c=getchar())!='\n';)s[i++]=c;s[i]='\0';fun(s);}voidfun(charstr[]){inti,t,n;charc[80];n=strlen(str);for(i=0,t=0;iif(str[i]>='A'&&str[i]<='Z'||str[i]>='a'&&str[i]<='z')c[t++]=str[i];c[t]='\0';puts(c);} 20.编程:找出10个整数中的最大数并与第一个数交换位置,找出最小数与最后一个数交换位置,将变换后的结果写入文件dat.txt中。#includevoidmain(){FILE*fp;inti,j,a[10],t,max,min;if((fp=fopen("E:\\DATA1.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<9;i++){max=i;for(j=1;j<10;j++)if(a[max]t=a[max];a[max]=a[9];a[9]=t;min=i;for(j=1;j<10;j++)if(a[min]>a[j])min=j;t=a[min];a[min]=a[0];a[0]=t;}for(i=0;i<10;i++){printf("%d,",a[i]);fprintf(fp,"%d,",a[i]);}printf("\n");fprin
hang=i;lie=j;}
printf("max=%d\n",max);
fprintf(fp,"max=%d\n",max);
printf("hang=%d,lie=%d\n",++hang,++lie);
fprintf(fp,"hang=%d,lie=%d\n",++hang,++lie);
13.函数intispalin(charstr[])的功能是判断字符串str是否为回文,即顺读和逆读都一样的字符串,若是,返回1;否则返回0。
在main函数中从键盘输入字符串str,调用ispalin函数,输出判断结果。
输入admda,则输出admda:
yes;输入abcdabc,则输出abcdabc:
No。
#include"stdio.h"
#include"string.h"
main()
{intfun(charstr[]);
charstr[81];
scanf("%s",str);
if(fun(str))
printf("%syes\n",str);
else
printf("%sno\n",str);
intfun(charstr[])
j=strlen(str)-1;
for(i=0;iif(str[i]!=str[j])return(0);return(1);} 14.编写函数intprime(intn),功能为判断n是否为素数,若是,返回1;否则返回0。要求:在main函数中调用函数prime,将2~100以内的所有素数存放到一维数组a中,输出a中的所有元素。#include#includevoidmain(){intprime(intn);inta[50],i,k=0;for(i=2;i<=100;i++)if(prime(i)==1)a[k++]=i;for(i=0;i}intprime(intn){inti,k=sqrt(n);for(i=2;i<=k;i++)if(n%i==0)break;if(i>k)return1;elsereturn0;} 15.函数intflag(intx0,intx1,intd[])的功能是:找出x0至x1之间所有能被3整除的数存入d数组中,返回d数组中元素的个数。编写main函数,调用flag函数求出15~50之间所有满足条件的整数。#includevoidmain(){intflag(intx0,intx1,intd[]);intn,i,a[30];n=flag(15,50,a);printf("n=%d\n",n);for(i=0;iprintf("%4d",a[i]);printf("\n");}intflag(intx0,intx1,intd[]){inti,k=0;for(i=x0;i<=x1;i++)if(i%3==0)d[k++]=i;return(k);} 16.编程:从键盘输入N个字符串,输出其中最长的字符串并保存到文件“DATA.DAT”中。#include#include#defineN10voidmain(){FILE*fp;chara[N][80];inti,t[N],max;if((fp=fopen("E:\\DATA16.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;iscanf("%s",&a[i]);for(i=0;it[i]=strlen(a[i]);max=t[0];for(i=0;iif(maxmax=t[i];for(i=0;iif(strlen(a[i])==max){printf("%s",a[i]);fprintf(fp,"%s",a[i]);}fclose(fp);} 17.函数intfun(inta[],intn,intb[])的功能是:求出数组a中n个元素的平均值,将大于平均值的元素存入b数组中,函数返回b数组中元素个数。编写main,通过调用fun,输出大于平均值的元素及元素个数。#includevoidmain(){intfun(inta[],intn,intb[]);inti,aa[10],bb[10],x;for(i=0;i<10;i++)scanf("%d",&aa[i]);x=fun(aa,10,bb);for(i=0;iprintf("%d",bb[i]);printf("\nx=%d\n",x);}intfun(inta[],intn,intb[]){inti,j,sum=0,aver;for(i=0;isum=sum+a[i];aver=sum/n;for(i=0,j=0;iif(a[i]>aver)b[j++]=a[i];return(j);}18.函数voidmove(inta[],intn,intm)的功能是:将有n个元素的数组a中前面各数顺序向后移m个位置,最后m个数变成最前面m个数。编写main,调用move函数,输出变换后的结果。#includevoidmain(){voidmove(inta[],intn,intm);intaa[10]={1,2,3,4,5,6,7,8,9,0},i,m;for(i=0;i<10;i++)printf("%4d",aa[i]);printf("\n");printf("pleaseinputm(m<=10):");scanf("%d",&m);move(aa,10,m);for(i=0;i<10;i++)printf("%4d",aa[i]);printf("\n");}voidmove(inta[],intn,intm){inti,t[10];for(i=0;ifor(i=n-1;i>=m;i--)a[i]=a[i-m];for(i=0;i} 19.函数voidfun(charstr[])的功能是:删除字符数组str中的非字母字符。编写main函数,从键盘输入一个字符串,调用fun函数,输出删除了非字母字符后的字符串。#include#includevoidmain(){voidfun(charstr[]);charc,s[80];inti=0;for(;(c=getchar())!='\n';)s[i++]=c;s[i]='\0';fun(s);}voidfun(charstr[]){inti,t,n;charc[80];n=strlen(str);for(i=0,t=0;iif(str[i]>='A'&&str[i]<='Z'||str[i]>='a'&&str[i]<='z')c[t++]=str[i];c[t]='\0';puts(c);} 20.编程:找出10个整数中的最大数并与第一个数交换位置,找出最小数与最后一个数交换位置,将变换后的结果写入文件dat.txt中。#includevoidmain(){FILE*fp;inti,j,a[10],t,max,min;if((fp=fopen("E:\\DATA1.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<9;i++){max=i;for(j=1;j<10;j++)if(a[max]t=a[max];a[max]=a[9];a[9]=t;min=i;for(j=1;j<10;j++)if(a[min]>a[j])min=j;t=a[min];a[min]=a[0];a[0]=t;}for(i=0;i<10;i++){printf("%d,",a[i]);fprintf(fp,"%d,",a[i]);}printf("\n");fprin
if(str[i]!
=str[j])
return(0);
return
(1);}
14.编写函数intprime(intn),功能为判断n是否为素数,若是,返回1;否则返回0。
在main函数中调用函数prime,将2~100以内的所有素数存放到一维数组a中,输出a中的所有元素。
intprime(intn);
inta[50],i,k=0;
for(i=2;i<=100;i++)
if(prime(i)==1)a[k++]=i;
for(i=0;i}intprime(intn){inti,k=sqrt(n);for(i=2;i<=k;i++)if(n%i==0)break;if(i>k)return1;elsereturn0;} 15.函数intflag(intx0,intx1,intd[])的功能是:找出x0至x1之间所有能被3整除的数存入d数组中,返回d数组中元素的个数。编写main函数,调用flag函数求出15~50之间所有满足条件的整数。#includevoidmain(){intflag(intx0,intx1,intd[]);intn,i,a[30];n=flag(15,50,a);printf("n=%d\n",n);for(i=0;iprintf("%4d",a[i]);printf("\n");}intflag(intx0,intx1,intd[]){inti,k=0;for(i=x0;i<=x1;i++)if(i%3==0)d[k++]=i;return(k);} 16.编程:从键盘输入N个字符串,输出其中最长的字符串并保存到文件“DATA.DAT”中。#include#include#defineN10voidmain(){FILE*fp;chara[N][80];inti,t[N],max;if((fp=fopen("E:\\DATA16.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;iscanf("%s",&a[i]);for(i=0;it[i]=strlen(a[i]);max=t[0];for(i=0;iif(maxmax=t[i];for(i=0;iif(strlen(a[i])==max){printf("%s",a[i]);fprintf(fp,"%s",a[i]);}fclose(fp);} 17.函数intfun(inta[],intn,intb[])的功能是:求出数组a中n个元素的平均值,将大于平均值的元素存入b数组中,函数返回b数组中元素个数。编写main,通过调用fun,输出大于平均值的元素及元素个数。#includevoidmain(){intfun(inta[],intn,intb[]);inti,aa[10],bb[10],x;for(i=0;i<10;i++)scanf("%d",&aa[i]);x=fun(aa,10,bb);for(i=0;iprintf("%d",bb[i]);printf("\nx=%d\n",x);}intfun(inta[],intn,intb[]){inti,j,sum=0,aver;for(i=0;isum=sum+a[i];aver=sum/n;for(i=0,j=0;iif(a[i]>aver)b[j++]=a[i];return(j);}18.函数voidmove(inta[],intn,intm)的功能是:将有n个元素的数组a中前面各数顺序向后移m个位置,最后m个数变成最前面m个数。编写main,调用move函数,输出变换后的结果。#includevoidmain(){voidmove(inta[],intn,intm);intaa[10]={1,2,3,4,5,6,7,8,9,0},i,m;for(i=0;i<10;i++)printf("%4d",aa[i]);printf("\n");printf("pleaseinputm(m<=10):");scanf("%d",&m);move(aa,10,m);for(i=0;i<10;i++)printf("%4d",aa[i]);printf("\n");}voidmove(inta[],intn,intm){inti,t[10];for(i=0;ifor(i=n-1;i>=m;i--)a[i]=a[i-m];for(i=0;i} 19.函数voidfun(charstr[])的功能是:删除字符数组str中的非字母字符。编写main函数,从键盘输入一个字符串,调用fun函数,输出删除了非字母字符后的字符串。#include#includevoidmain(){voidfun(charstr[]);charc,s[80];inti=0;for(;(c=getchar())!='\n';)s[i++]=c;s[i]='\0';fun(s);}voidfun(charstr[]){inti,t,n;charc[80];n=strlen(str);for(i=0,t=0;iif(str[i]>='A'&&str[i]<='Z'||str[i]>='a'&&str[i]<='z')c[t++]=str[i];c[t]='\0';puts(c);} 20.编程:找出10个整数中的最大数并与第一个数交换位置,找出最小数与最后一个数交换位置,将变换后的结果写入文件dat.txt中。#includevoidmain(){FILE*fp;inti,j,a[10],t,max,min;if((fp=fopen("E:\\DATA1.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<9;i++){max=i;for(j=1;j<10;j++)if(a[max]t=a[max];a[max]=a[9];a[9]=t;min=i;for(j=1;j<10;j++)if(a[min]>a[j])min=j;t=a[min];a[min]=a[0];a[0]=t;}for(i=0;i<10;i++){printf("%d,",a[i]);fprintf(fp,"%d,",a[i]);}printf("\n");fprin
intprime(intn)
inti,k=sqrt(n);
for(i=2;i<=k;i++)
if(n%i==0)break;
if(i>k)return1;
elsereturn0;
15.函数intflag(intx0,intx1,intd[])的功能是:
找出x0至x1之间所有能被3整除的数存入d数组中,返回d数组中元素的个数。
编写main函数,调用flag函数求出15~50之间所有满足条件的整数。
{intflag(intx0,intx1,intd[]);
intn,i,a[30];
n=flag(15,50,a);
printf("n=%d\n",n);
for(i=0;iprintf("%4d",a[i]);printf("\n");}intflag(intx0,intx1,intd[]){inti,k=0;for(i=x0;i<=x1;i++)if(i%3==0)d[k++]=i;return(k);} 16.编程:从键盘输入N个字符串,输出其中最长的字符串并保存到文件“DATA.DAT”中。#include#include#defineN10voidmain(){FILE*fp;chara[N][80];inti,t[N],max;if((fp=fopen("E:\\DATA16.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;iscanf("%s",&a[i]);for(i=0;it[i]=strlen(a[i]);max=t[0];for(i=0;iif(maxmax=t[i];for(i=0;iif(strlen(a[i])==max){printf("%s",a[i]);fprintf(fp,"%s",a[i]);}fclose(fp);} 17.函数intfun(inta[],intn,intb[])的功能是:求出数组a中n个元素的平均值,将大于平均值的元素存入b数组中,函数返回b数组中元素个数。编写main,通过调用fun,输出大于平均值的元素及元素个数。#includevoidmain(){intfun(inta[],intn,intb[]);inti,aa[10],bb[10],x;for(i=0;i<10;i++)scanf("%d",&aa[i]);x=fun(aa,10,bb);for(i=0;iprintf("%d",bb[i]);printf("\nx=%d\n",x);}intfun(inta[],intn,intb[]){inti,j,sum=0,aver;for(i=0;isum=sum+a[i];aver=sum/n;for(i=0,j=0;iif(a[i]>aver)b[j++]=a[i];return(j);}18.函数voidmove(inta[],intn,intm)的功能是:将有n个元素的数组a中前面各数顺序向后移m个位置,最后m个数变成最前面m个数。编写main,调用move函数,输出变换后的结果。#includevoidmain(){voidmove(inta[],intn,intm);intaa[10]={1,2,3,4,5,6,7,8,9,0},i,m;for(i=0;i<10;i++)printf("%4d",aa[i]);printf("\n");printf("pleaseinputm(m<=10):");scanf("%d",&m);move(aa,10,m);for(i=0;i<10;i++)printf("%4d",aa[i]);printf("\n");}voidmove(inta[],intn,intm){inti,t[10];for(i=0;ifor(i=n-1;i>=m;i--)a[i]=a[i-m];for(i=0;i} 19.函数voidfun(charstr[])的功能是:删除字符数组str中的非字母字符。编写main函数,从键盘输入一个字符串,调用fun函数,输出删除了非字母字符后的字符串。#include#includevoidmain(){voidfun(charstr[]);charc,s[80];inti=0;for(;(c=getchar())!='\n';)s[i++]=c;s[i]='\0';fun(s);}voidfun(charstr[]){inti,t,n;charc[80];n=strlen(str);for(i=0,t=0;iif(str[i]>='A'&&str[i]<='Z'||str[i]>='a'&&str[i]<='z')c[t++]=str[i];c[t]='\0';puts(c);} 20.编程:找出10个整数中的最大数并与第一个数交换位置,找出最小数与最后一个数交换位置,将变换后的结果写入文件dat.txt中。#includevoidmain(){FILE*fp;inti,j,a[10],t,max,min;if((fp=fopen("E:\\DATA1.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<9;i++){max=i;for(j=1;j<10;j++)if(a[max]t=a[max];a[max]=a[9];a[9]=t;min=i;for(j=1;j<10;j++)if(a[min]>a[j])min=j;t=a[min];a[min]=a[0];a[0]=t;}for(i=0;i<10;i++){printf("%d,",a[i]);fprintf(fp,"%d,",a[i]);}printf("\n");fprin
printf("%4d",a[i]);
intflag(intx0,intx1,intd[])
{inti,k=0;
for(i=x0;i<=x1;i++)
if(i%3==0)
d[k++]=i;
return(k);
16.编程:
从键盘输入N个字符串,输出其中最长的字符串并保存到文件“DATA.DAT”中。
chara[N][80];
inti,t[N],max;
\\DATA16.DAT","w"))==NULL)
for(i=0;iscanf("%s",&a[i]);for(i=0;it[i]=strlen(a[i]);max=t[0];for(i=0;iif(maxmax=t[i];for(i=0;iif(strlen(a[i])==max){printf("%s",a[i]);fprintf(fp,"%s",a[i]);}fclose(fp);} 17.函数intfun(inta[],intn,intb[])的功能是:求出数组a中n个元素的平均值,将大于平均值的元素存入b数组中,函数返回b数组中元素个数。编写main,通过调用fun,输出大于平均值的元素及元素个数。#includevoidmain(){intfun(inta[],intn,intb[]);inti,aa[10],bb[10],x;for(i=0;i<10;i++)scanf("%d",&aa[i]);x=fun(aa,10,bb);for(i=0;iprintf("%d",bb[i]);printf("\nx=%d\n",x);}intfun(inta[],intn,intb[]){inti,j,sum=0,aver;for(i=0;isum=sum+a[i];aver=sum/n;for(i=0,j=0;iif(a[i]>aver)b[j++]=a[i];return(j);}18.函数voidmove(inta[],intn,intm)的功能是:将有n个元素的数组a中前面各数顺序向后移m个位置,最后m个数变成最前面m个数。编写main,调用move函数,输出变换后的结果。#includevoidmain(){voidmove(inta[],intn,intm);intaa[10]={1,2,3,4,5,6,7,8,9,0},i,m;for(i=0;i<10;i++)printf("%4d",aa[i]);printf("\n");printf("pleaseinputm(m<=10):");scanf("%d",&m);move(aa,10,m);for(i=0;i<10;i++)printf("%4d",aa[i]);printf("\n");}voidmove(inta[],intn,intm){inti,t[10];for(i=0;ifor(i=n-1;i>=m;i--)a[i]=a[i-m];for(i=0;i} 19.函数voidfun(charstr[])的功能是:删除字符数组str中的非字母字符。编写main函数,从键盘输入一个字符串,调用fun函数,输出删除了非字母字符后的字符串。#include#includevoidmain(){voidfun(charstr[]);charc,s[80];inti=0;for(;(c=getchar())!='\n';)s[i++]=c;s[i]='\0';fun(s);}voidfun(charstr[]){inti,t,n;charc[80];n=strlen(str);for(i=0,t=0;iif(str[i]>='A'&&str[i]<='Z'||str[i]>='a'&&str[i]<='z')c[t++]=str[i];c[t]='\0';puts(c);} 20.编程:找出10个整数中的最大数并与第一个数交换位置,找出最小数与最后一个数交换位置,将变换后的结果写入文件dat.txt中。#includevoidmain(){FILE*fp;inti,j,a[10],t,max,min;if((fp=fopen("E:\\DATA1.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<9;i++){max=i;for(j=1;j<10;j++)if(a[max]t=a[max];a[max]=a[9];a[9]=t;min=i;for(j=1;j<10;j++)if(a[min]>a[j])min=j;t=a[min];a[min]=a[0];a[0]=t;}for(i=0;i<10;i++){printf("%d,",a[i]);fprintf(fp,"%d,",a[i]);}printf("\n");fprin
scanf("%s",&a[i]);
for(i=0;it[i]=strlen(a[i]);max=t[0];for(i=0;iif(maxmax=t[i];for(i=0;iif(strlen(a[i])==max){printf("%s",a[i]);fprintf(fp,"%s",a[i]);}fclose(fp);} 17.函数intfun(inta[],intn,intb[])的功能是:求出数组a中n个元素的平均值,将大于平均值的元素存入b数组中,函数返回b数组中元素个数。编写main,通过调用fun,输出大于平均值的元素及元素个数。#includevoidmain(){intfun(inta[],intn,intb[]);inti,aa[10],bb[10],x;for(i=0;i<10;i++)scanf("%d",&aa[i]);x=fun(aa,10,bb);for(i=0;iprintf("%d",bb[i]);printf("\nx=%d\n",x);}intfun(inta[],intn,intb[]){inti,j,sum=0,aver;for(i=0;isum=sum+a[i];aver=sum/n;for(i=0,j=0;iif(a[i]>aver)b[j++]=a[i];return(j);}18.函数voidmove(inta[],intn,intm)的功能是:将有n个元素的数组a中前面各数顺序向后移m个位置,最后m个数变成最前面m个数。编写main,调用move函数,输出变换后的结果。#includevoidmain(){voidmove(inta[],intn,intm);intaa[10]={1,2,3,4,5,6,7,8,9,0},i,m;for(i=0;i<10;i++)printf("%4d",aa[i]);printf("\n");printf("pleaseinputm(m<=10):");scanf("%d",&m);move(aa,10,m);for(i=0;i<10;i++)printf("%4d",aa[i]);printf("\n");}voidmove(inta[],intn,intm){inti,t[10];for(i=0;ifor(i=n-1;i>=m;i--)a[i]=a[i-m];for(i=0;i} 19.函数voidfun(charstr[])的功能是:删除字符数组str中的非字母字符。编写main函数,从键盘输入一个字符串,调用fun函数,输出删除了非字母字符后的字符串。#include#includevoidmain(){voidfun(charstr[]);charc,s[80];inti=0;for(;(c=getchar())!='\n';)s[i++]=c;s[i]='\0';fun(s);}voidfun(charstr[]){inti,t,n;charc[80];n=strlen(str);for(i=0,t=0;iif(str[i]>='A'&&str[i]<='Z'||str[i]>='a'&&str[i]<='z')c[t++]=str[i];c[t]='\0';puts(c);} 20.编程:找出10个整数中的最大数并与第一个数交换位置,找出最小数与最后一个数交换位置,将变换后的结果写入文件dat.txt中。#includevoidmain(){FILE*fp;inti,j,a[10],t,max,min;if((fp=fopen("E:\\DATA1.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<9;i++){max=i;for(j=1;j<10;j++)if(a[max]t=a[max];a[max]=a[9];a[9]=t;min=i;for(j=1;j<10;j++)if(a[min]>a[j])min=j;t=a[min];a[min]=a[0];a[0]=t;}for(i=0;i<10;i++){printf("%d,",a[i]);fprintf(fp,"%d,",a[i]);}printf("\n");fprin
t[i]=strlen(a[i]);
max=t[0];
for(i=0;iif(maxmax=t[i];for(i=0;iif(strlen(a[i])==max){printf("%s",a[i]);fprintf(fp,"%s",a[i]);}fclose(fp);} 17.函数intfun(inta[],intn,intb[])的功能是:求出数组a中n个元素的平均值,将大于平均值的元素存入b数组中,函数返回b数组中元素个数。编写main,通过调用fun,输出大于平均值的元素及元素个数。#includevoidmain(){intfun(inta[],intn,intb[]);inti,aa[10],bb[10],x;for(i=0;i<10;i++)scanf("%d",&aa[i]);x=fun(aa,10,bb);for(i=0;iprintf("%d",bb[i]);printf("\nx=%d\n",x);}intfun(inta[],intn,intb[]){inti,j,sum=0,aver;for(i=0;isum=sum+a[i];aver=sum/n;for(i=0,j=0;iif(a[i]>aver)b[j++]=a[i];return(j);}18.函数voidmove(inta[],intn,intm)的功能是:将有n个元素的数组a中前面各数顺序向后移m个位置,最后m个数变成最前面m个数。编写main,调用move函数,输出变换后的结果。#includevoidmain(){voidmove(inta[],intn,intm);intaa[10]={1,2,3,4,5,6,7,8,9,0},i,m;for(i=0;i<10;i++)printf("%4d",aa[i]);printf("\n");printf("pleaseinputm(m<=10):");scanf("%d",&m);move(aa,10,m);for(i=0;i<10;i++)printf("%4d",aa[i]);printf("\n");}voidmove(inta[],intn,intm){inti,t[10];for(i=0;ifor(i=n-1;i>=m;i--)a[i]=a[i-m];for(i=0;i} 19.函数voidfun(charstr[])的功能是:删除字符数组str中的非字母字符。编写main函数,从键盘输入一个字符串,调用fun函数,输出删除了非字母字符后的字符串。#include#includevoidmain(){voidfun(charstr[]);charc,s[80];inti=0;for(;(c=getchar())!='\n';)s[i++]=c;s[i]='\0';fun(s);}voidfun(charstr[]){inti,t,n;charc[80];n=strlen(str);for(i=0,t=0;iif(str[i]>='A'&&str[i]<='Z'||str[i]>='a'&&str[i]<='z')c[t++]=str[i];c[t]='\0';puts(c);} 20.编程:找出10个整数中的最大数并与第一个数交换位置,找出最小数与最后一个数交换位置,将变换后的结果写入文件dat.txt中。#includevoidmain(){FILE*fp;inti,j,a[10],t,max,min;if((fp=fopen("E:\\DATA1.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<9;i++){max=i;for(j=1;j<10;j++)if(a[max]t=a[max];a[max]=a[9];a[9]=t;min=i;for(j=1;j<10;j++)if(a[min]>a[j])min=j;t=a[min];a[min]=a[0];a[0]=t;}for(i=0;i<10;i++){printf("%d,",a[i]);fprintf(fp,"%d,",a[i]);}printf("\n");fprin
if(maxmax=t[i];for(i=0;iif(strlen(a[i])==max){printf("%s",a[i]);fprintf(fp,"%s",a[i]);}fclose(fp);} 17.函数intfun(inta[],intn,intb[])的功能是:求出数组a中n个元素的平均值,将大于平均值的元素存入b数组中,函数返回b数组中元素个数。编写main,通过调用fun,输出大于平均值的元素及元素个数。#includevoidmain(){intfun(inta[],intn,intb[]);inti,aa[10],bb[10],x;for(i=0;i<10;i++)scanf("%d",&aa[i]);x=fun(aa,10,bb);for(i=0;iprintf("%d",bb[i]);printf("\nx=%d\n",x);}intfun(inta[],intn,intb[]){inti,j,sum=0,aver;for(i=0;isum=sum+a[i];aver=sum/n;for(i=0,j=0;iif(a[i]>aver)b[j++]=a[i];return(j);}18.函数voidmove(inta[],intn,intm)的功能是:将有n个元素的数组a中前面各数顺序向后移m个位置,最后m个数变成最前面m个数。编写main,调用move函数,输出变换后的结果。#includevoidmain(){voidmove(inta[],intn,intm);intaa[10]={1,2,3,4,5,6,7,8,9,0},i,m;for(i=0;i<10;i++)printf("%4d",aa[i]);printf("\n");printf("pleaseinputm(m<=10):");scanf("%d",&m);move(aa,10,m);for(i=0;i<10;i++)printf("%4d",aa[i]);printf("\n");}voidmove(inta[],intn,intm){inti,t[10];for(i=0;ifor(i=n-1;i>=m;i--)a[i]=a[i-m];for(i=0;i} 19.函数voidfun(charstr[])的功能是:删除字符数组str中的非字母字符。编写main函数,从键盘输入一个字符串,调用fun函数,输出删除了非字母字符后的字符串。#include#includevoidmain(){voidfun(charstr[]);charc,s[80];inti=0;for(;(c=getchar())!='\n';)s[i++]=c;s[i]='\0';fun(s);}voidfun(charstr[]){inti,t,n;charc[80];n=strlen(str);for(i=0,t=0;iif(str[i]>='A'&&str[i]<='Z'||str[i]>='a'&&str[i]<='z')c[t++]=str[i];c[t]='\0';puts(c);} 20.编程:找出10个整数中的最大数并与第一个数交换位置,找出最小数与最后一个数交换位置,将变换后的结果写入文件dat.txt中。#includevoidmain(){FILE*fp;inti,j,a[10],t,max,min;if((fp=fopen("E:\\DATA1.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<9;i++){max=i;for(j=1;j<10;j++)if(a[max]t=a[max];a[max]=a[9];a[9]=t;min=i;for(j=1;j<10;j++)if(a[min]>a[j])min=j;t=a[min];a[min]=a[0];a[0]=t;}for(i=0;i<10;i++){printf("%d,",a[i]);fprintf(fp,"%d,",a[i]);}printf("\n");fprin
max=t[i];
for(i=0;iif(strlen(a[i])==max){printf("%s",a[i]);fprintf(fp,"%s",a[i]);}fclose(fp);} 17.函数intfun(inta[],intn,intb[])的功能是:求出数组a中n个元素的平均值,将大于平均值的元素存入b数组中,函数返回b数组中元素个数。编写main,通过调用fun,输出大于平均值的元素及元素个数。#includevoidmain(){intfun(inta[],intn,intb[]);inti,aa[10],bb[10],x;for(i=0;i<10;i++)scanf("%d",&aa[i]);x=fun(aa,10,bb);for(i=0;iprintf("%d",bb[i]);printf("\nx=%d\n",x);}intfun(inta[],intn,intb[]){inti,j,sum=0,aver;for(i=0;isum=sum+a[i];aver=sum/n;for(i=0,j=0;iif(a[i]>aver)b[j++]=a[i];return(j);}18.函数voidmove(inta[],intn,intm)的功能是:将有n个元素的数组a中前面各数顺序向后移m个位置,最后m个数变成最前面m个数。编写main,调用move函数,输出变换后的结果。#includevoidmain(){voidmove(inta[],intn,intm);intaa[10]={1,2,3,4,5,6,7,8,9,0},i,m;for(i=0;i<10;i++)printf("%4d",aa[i]);printf("\n");printf("pleaseinputm(m<=10):");scanf("%d",&m);move(aa,10,m);for(i=0;i<10;i++)printf("%4d",aa[i]);printf("\n");}voidmove(inta[],intn,intm){inti,t[10];for(i=0;ifor(i=n-1;i>=m;i--)a[i]=a[i-m];for(i=0;i} 19.函数voidfun(charstr[])的功能是:删除字符数组str中的非字母字符。编写main函数,从键盘输入一个字符串,调用fun函数,输出删除了非字母字符后的字符串。#include#includevoidmain(){voidfun(charstr[]);charc,s[80];inti=0;for(;(c=getchar())!='\n';)s[i++]=c;s[i]='\0';fun(s);}voidfun(charstr[]){inti,t,n;charc[80];n=strlen(str);for(i=0,t=0;iif(str[i]>='A'&&str[i]<='Z'||str[i]>='a'&&str[i]<='z')c[t++]=str[i];c[t]='\0';puts(c);} 20.编程:找出10个整数中的最大数并与第一个数交换位置,找出最小数与最后一个数交换位置,将变换后的结果写入文件dat.txt中。#includevoidmain(){FILE*fp;inti,j,a[10],t,max,min;if((fp=fopen("E:\\DATA1.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<9;i++){max=i;for(j=1;j<10;j++)if(a[max]t=a[max];a[max]=a[9];a[9]=t;min=i;for(j=1;j<10;j++)if(a[min]>a[j])min=j;t=a[min];a[min]=a[0];a[0]=t;}for(i=0;i<10;i++){printf("%d,",a[i]);fprintf(fp,"%d,",a[i]);}printf("\n");fprin
if(strlen(a[i])==max)
{printf("%s",a[i]);
fprintf(fp,"%s",a[i]);}
17.函数intfun(inta[],intn,intb[])的功能是:
求出数组a中n个元素的平均值,将大于平均值的元素存入b数组中,函数返回b数组中元素个数。
编写main,通过调用fun,输出大于平均值的元素及元素个数。
{intfun(inta[],intn,intb[]);
inti,aa[10],bb[10],x;
x=fun(aa,10,bb);
for(i=0;iprintf("%d",bb[i]);printf("\nx=%d\n",x);}intfun(inta[],intn,intb[]){inti,j,sum=0,aver;for(i=0;isum=sum+a[i];aver=sum/n;for(i=0,j=0;iif(a[i]>aver)b[j++]=a[i];return(j);}18.函数voidmove(inta[],intn,intm)的功能是:将有n个元素的数组a中前面各数顺序向后移m个位置,最后m个数变成最前面m个数。编写main,调用move函数,输出变换后的结果。#includevoidmain(){voidmove(inta[],intn,intm);intaa[10]={1,2,3,4,5,6,7,8,9,0},i,m;for(i=0;i<10;i++)printf("%4d",aa[i]);printf("\n");printf("pleaseinputm(m<=10):");scanf("%d",&m);move(aa,10,m);for(i=0;i<10;i++)printf("%4d",aa[i]);printf("\n");}voidmove(inta[],intn,intm){inti,t[10];for(i=0;ifor(i=n-1;i>=m;i--)a[i]=a[i-m];for(i=0;i} 19.函数voidfun(charstr[])的功能是:删除字符数组str中的非字母字符。编写main函数,从键盘输入一个字符串,调用fun函数,输出删除了非字母字符后的字符串。#include#includevoidmain(){voidfun(charstr[]);charc,s[80];inti=0;for(;(c=getchar())!='\n';)s[i++]=c;s[i]='\0';fun(s);}voidfun(charstr[]){inti,t,n;charc[80];n=strlen(str);for(i=0,t=0;iif(str[i]>='A'&&str[i]<='Z'||str[i]>='a'&&str[i]<='z')c[t++]=str[i];c[t]='\0';puts(c);} 20.编程:找出10个整数中的最大数并与第一个数交换位置,找出最小数与最后一个数交换位置,将变换后的结果写入文件dat.txt中。#includevoidmain(){FILE*fp;inti,j,a[10],t,max,min;if((fp=fopen("E:\\DATA1.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<9;i++){max=i;for(j=1;j<10;j++)if(a[max]t=a[max];a[max]=a[9];a[9]=t;min=i;for(j=1;j<10;j++)if(a[min]>a[j])min=j;t=a[min];a[min]=a[0];a[0]=t;}for(i=0;i<10;i++){printf("%d,",a[i]);fprintf(fp,"%d,",a[i]);}printf("\n");fprin
printf("%d",bb[i]);
printf("\nx=%d\n",x);
intfun(inta[],intn,intb[])
{inti,j,sum=0,aver;
for(i=0;isum=sum+a[i];aver=sum/n;for(i=0,j=0;iif(a[i]>aver)b[j++]=a[i];return(j);}18.函数voidmove(inta[],intn,intm)的功能是:将有n个元素的数组a中前面各数顺序向后移m个位置,最后m个数变成最前面m个数。编写main,调用move函数,输出变换后的结果。#includevoidmain(){voidmove(inta[],intn,intm);intaa[10]={1,2,3,4,5,6,7,8,9,0},i,m;for(i=0;i<10;i++)printf("%4d",aa[i]);printf("\n");printf("pleaseinputm(m<=10):");scanf("%d",&m);move(aa,10,m);for(i=0;i<10;i++)printf("%4d",aa[i]);printf("\n");}voidmove(inta[],intn,intm){inti,t[10];for(i=0;ifor(i=n-1;i>=m;i--)a[i]=a[i-m];for(i=0;i} 19.函数voidfun(charstr[])的功能是:删除字符数组str中的非字母字符。编写main函数,从键盘输入一个字符串,调用fun函数,输出删除了非字母字符后的字符串。#include#includevoidmain(){voidfun(charstr[]);charc,s[80];inti=0;for(;(c=getchar())!='\n';)s[i++]=c;s[i]='\0';fun(s);}voidfun(charstr[]){inti,t,n;charc[80];n=strlen(str);for(i=0,t=0;iif(str[i]>='A'&&str[i]<='Z'||str[i]>='a'&&str[i]<='z')c[t++]=str[i];c[t]='\0';puts(c);} 20.编程:找出10个整数中的最大数并与第一个数交换位置,找出最小数与最后一个数交换位置,将变换后的结果写入文件dat.txt中。#includevoidmain(){FILE*fp;inti,j,a[10],t,max,min;if((fp=fopen("E:\\DATA1.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<9;i++){max=i;for(j=1;j<10;j++)if(a[max]t=a[max];a[max]=a[9];a[9]=t;min=i;for(j=1;j<10;j++)if(a[min]>a[j])min=j;t=a[min];a[min]=a[0];a[0]=t;}for(i=0;i<10;i++){printf("%d,",a[i]);fprintf(fp,"%d,",a[i]);}printf("\n");fprin
sum=sum+a[i];
aver=sum/n;
for(i=0,j=0;iif(a[i]>aver)b[j++]=a[i];return(j);}18.函数voidmove(inta[],intn,intm)的功能是:将有n个元素的数组a中前面各数顺序向后移m个位置,最后m个数变成最前面m个数。编写main,调用move函数,输出变换后的结果。#includevoidmain(){voidmove(inta[],intn,intm);intaa[10]={1,2,3,4,5,6,7,8,9,0},i,m;for(i=0;i<10;i++)printf("%4d",aa[i]);printf("\n");printf("pleaseinputm(m<=10):");scanf("%d",&m);move(aa,10,m);for(i=0;i<10;i++)printf("%4d",aa[i]);printf("\n");}voidmove(inta[],intn,intm){inti,t[10];for(i=0;ifor(i=n-1;i>=m;i--)a[i]=a[i-m];for(i=0;i} 19.函数voidfun(charstr[])的功能是:删除字符数组str中的非字母字符。编写main函数,从键盘输入一个字符串,调用fun函数,输出删除了非字母字符后的字符串。#include#includevoidmain(){voidfun(charstr[]);charc,s[80];inti=0;for(;(c=getchar())!='\n';)s[i++]=c;s[i]='\0';fun(s);}voidfun(charstr[]){inti,t,n;charc[80];n=strlen(str);for(i=0,t=0;iif(str[i]>='A'&&str[i]<='Z'||str[i]>='a'&&str[i]<='z')c[t++]=str[i];c[t]='\0';puts(c);} 20.编程:找出10个整数中的最大数并与第一个数交换位置,找出最小数与最后一个数交换位置,将变换后的结果写入文件dat.txt中。#includevoidmain(){FILE*fp;inti,j,a[10],t,max,min;if((fp=fopen("E:\\DATA1.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<9;i++){max=i;for(j=1;j<10;j++)if(a[max]t=a[max];a[max]=a[9];a[9]=t;min=i;for(j=1;j<10;j++)if(a[min]>a[j])min=j;t=a[min];a[min]=a[0];a[0]=t;}for(i=0;i<10;i++){printf("%d,",a[i]);fprintf(fp,"%d,",a[i]);}printf("\n");fprin
if(a[i]>aver)b[j++]=a[i];
return(j);
18.函数voidmove(inta[],intn,intm)的功能是:
将有n个元素的数组a中前面各数顺序向后移m个位置,最后m个数变成最前面m个数。
编写main,调用move函数,输出变换后的结果。
voidmove(inta[],intn,intm);
intaa[10]={1,2,3,4,5,6,7,8,9,0},i,m;
for(i=0;i<10;i++)printf("%4d",aa[i]);
printf("pleaseinputm(m<=10):
");
scanf("%d",&m);
move(aa,10,m);
voidmove(inta[],intn,intm)
inti,t[10];
for(i=0;ifor(i=n-1;i>=m;i--)a[i]=a[i-m];for(i=0;i} 19.函数voidfun(charstr[])的功能是:删除字符数组str中的非字母字符。编写main函数,从键盘输入一个字符串,调用fun函数,输出删除了非字母字符后的字符串。#include#includevoidmain(){voidfun(charstr[]);charc,s[80];inti=0;for(;(c=getchar())!='\n';)s[i++]=c;s[i]='\0';fun(s);}voidfun(charstr[]){inti,t,n;charc[80];n=strlen(str);for(i=0,t=0;iif(str[i]>='A'&&str[i]<='Z'||str[i]>='a'&&str[i]<='z')c[t++]=str[i];c[t]='\0';puts(c);} 20.编程:找出10个整数中的最大数并与第一个数交换位置,找出最小数与最后一个数交换位置,将变换后的结果写入文件dat.txt中。#includevoidmain(){FILE*fp;inti,j,a[10],t,max,min;if((fp=fopen("E:\\DATA1.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<9;i++){max=i;for(j=1;j<10;j++)if(a[max]t=a[max];a[max]=a[9];a[9]=t;min=i;for(j=1;j<10;j++)if(a[min]>a[j])min=j;t=a[min];a[min]=a[0];a[0]=t;}for(i=0;i<10;i++){printf("%d,",a[i]);fprintf(fp,"%d,",a[i]);}printf("\n");fprin
for(i=n-1;i>=m;i--)a[i]=a[i-m];
for(i=0;i} 19.函数voidfun(charstr[])的功能是:删除字符数组str中的非字母字符。编写main函数,从键盘输入一个字符串,调用fun函数,输出删除了非字母字符后的字符串。#include#includevoidmain(){voidfun(charstr[]);charc,s[80];inti=0;for(;(c=getchar())!='\n';)s[i++]=c;s[i]='\0';fun(s);}voidfun(charstr[]){inti,t,n;charc[80];n=strlen(str);for(i=0,t=0;iif(str[i]>='A'&&str[i]<='Z'||str[i]>='a'&&str[i]<='z')c[t++]=str[i];c[t]='\0';puts(c);} 20.编程:找出10个整数中的最大数并与第一个数交换位置,找出最小数与最后一个数交换位置,将变换后的结果写入文件dat.txt中。#includevoidmain(){FILE*fp;inti,j,a[10],t,max,min;if((fp=fopen("E:\\DATA1.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<9;i++){max=i;for(j=1;j<10;j++)if(a[max]t=a[max];a[max]=a[9];a[9]=t;min=i;for(j=1;j<10;j++)if(a[min]>a[j])min=j;t=a[min];a[min]=a[0];a[0]=t;}for(i=0;i<10;i++){printf("%d,",a[i]);fprintf(fp,"%d,",a[i]);}printf("\n");fprin
19.函数voidfun(charstr[])的功能是:
删除字符数组str中的非字母字符。
编写main函数,从键盘输入一个字符串,调用fun函数,输出删除了非字母字符后的字符串。
voidfun(charstr[]);
charc,s[80];
inti=0;
for(;(c=getchar())!
='\n';)
s[i++]=c;
s[i]='\0';
fun(s);
voidfun(charstr[])
{inti,t,n;
charc[80];
n=strlen(str);
for(i=0,t=0;iif(str[i]>='A'&&str[i]<='Z'||str[i]>='a'&&str[i]<='z')c[t++]=str[i];c[t]='\0';puts(c);} 20.编程:找出10个整数中的最大数并与第一个数交换位置,找出最小数与最后一个数交换位置,将变换后的结果写入文件dat.txt中。#includevoidmain(){FILE*fp;inti,j,a[10],t,max,min;if((fp=fopen("E:\\DATA1.DAT","w"))==NULL){printf("cannotopen\n");exit(0);}for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<9;i++){max=i;for(j=1;j<10;j++)if(a[max]t=a[max];a[max]=a[9];a[9]=t;min=i;for(j=1;j<10;j++)if(a[min]>a[j])min=j;t=a[min];a[min]=a[0];a[0]=t;}for(i=0;i<10;i++){printf("%d,",a[i]);fprintf(fp,"%d,",a[i]);}printf("\n");fprin
if(str[i]>='A'&&str[i]<='Z'||str[i]>='a'&&str[i]<='z')
c[t++]=str[i];
c[t]='\0';
puts(c);
20.编程:
找出10个整数中的最大数并与第一个数交换位置,找出最小数与最后一个数交换位置,将变换后的结果写入文件dat.txt中。
inti,j,a[10],t,max,min;
if(a[max]t=a[max];a[max]=a[9];a[9]=t;min=i;for(j=1;j<10;j++)if(a[min]>a[j])min=j;t=a[min];a[min]=a[0];a[0]=t;}for(i=0;i<10;i++){printf("%d,",a[i]);fprintf(fp,"%d,",a[i]);}printf("\n");fprin
{printf("%d,",a[i]);
fprintf(fp,"%d,",a[i]);}
fprin
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1