1、程序设计题汇总1【程序设计】功能:将tt数组中的小写字母都改为对应的大写字母,其它字符删除。例如:a4 bdsk88*,结果:ABDSK void TestFunc(); #include #include void fun(char tt)/*Begin*/ int i,j=0; for(i=0;tti;i+) if(a=tti)&(tti=z) ttj+=tti-32; ttj=0; /* End */main() char tt81; printf(nPlease enter a string:); gets(tt); fun(tt); printf(nThe result string
2、 is:n%s,tt); TestFunc();void TestFunc() ILE *IN,*OUT; char s100; IN=fopen(in.dat,r); if(IN=NULL) printf(Read FILE Error); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Write FILE Error); fgets(s,100,IN); fun(s); fprintf(OUT,%s,s); fclose(IN); fclose(OUT)2【程序设计】功能:删除bb数组中所有值为y的元素,函数返回值为删除y后剩余数据的个数。数组元素中的
3、值和y的值由函数通过键盘输入。#include stdio.h#include conio.h#define M 20 int fun(int bb,int n,int y)int i,k=0;for(i=0;in;i+) if(bbi!=y) bbk+=bbi; return k; /* End *void main()int aaM,n,y,k; void TestFunc(); printf(n请输入 n:);scanf(%d,&n); printf(n请输入 %d 个正整数:n,n); for(k=0;kn;k+) scanf(%d,&aak); printf(输入的源数据为:n);
4、for(k=0;kn;k+) printf(%5d,aak); printf(n请输入要删除的数:);scanf(%d,&y); n=fun(aa,n,y); printf(删除%d之后数据为:n,y); for(k=0;kn;k+) printf(%4d,aak); printf(n); TestFunc();void TestFunc() FILE *IN,*OUT; int n; int i10; int o; IN=fopen(in.dat,r); if(IN=NULL) printf(Read File Error); OUT=fopen(out.dat,w); if(OUT=NUL
5、L) printf(Write File Error); for(n=0;n10;n+) fscanf(IN,%d,&in); n=fun(i,n,3); for(o=0;on;o+) fprintf(OUT,%dn,io); fclose(IN); fclose(OUT);3【程序设计】功能:对任意输入的 x,用下式计算并输出 y 的值。 -1 x0#include stdio.hint fun(int n)/*Begin*/ /* End */ void main () void TestFunc(); int x,y; printf(enter x:); scanf(%d,&x); y=
6、fun(x); printf(x=%d,y=%dn,x,y); TestFunc()void TestFunc() FILE *IN,*OUT; int i; int iIN; long int iOUT; IN=fopen(in.dat,r); if(IN=NULL) printf(Please Verify The Currernt Dir.It May Be Changed); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Please Verify The Current Dir. It May Be Changed); for(i=0;i5;i+
7、) fscanf(IN,%d,&iIN); iOUT=fun(iIN); fprintf(OUT,%ldn,iOUT); fclose(IN); fclose(OUT);4【程序设计】功能:从键盘输入一个大于3的整数,调用函数fun判断其是否素数,然后在main函数中输出相应的结论信息。例如:7是素数,8不是素数。请编写fun函数。素数是仅能被1和自身整除的数。#include stdio.h#include math.h int fun(int n) int i;int j;j= 1;for(i=2;in;i+)if(n%i=0) j= 0;return j;void main()void
8、TestFunc(); int m,flag; printf(input an integer:); scanf(%d,&m); flag=fun(m); if(flag) printf(%d is a prime.n,m); else printf(%d is not a prime.n,m); TestFunc();void TestFunc()FILE *IN,*OUT; int iIN,iOUT,i; IN=fopen(5.in,r); if(IN=NULL) printf(Please Verify The Currernt Dir.It May Be Changed); OUT=f
9、open(5.out,w); if(OUT=NULL) printf(Please Verify The Current Dir. It May Be Changed); for(i=0;i10;i+) fscanf(IN,%d,&iIN); iOUT=fun(iIN); fprintf(OUT,%dn,iOUT); fclose(IN); fclose(OUT);5【程序设计】请写一函数fun,该函数的功能是:把数组a中的数按从大到小的顺序排列。数组的值从主函中输入,排序结果也在主函数中输出。部分源程序如下:#include #define N 10void fun(int a , int
10、n) int i,j,t; for (i=0;in-1;i+) for(j=0;jn-1-i;j+) if(ajaj+1) t=aj; aj=aj+1; aj+1=t;void main( ) int i=0; int aN=45,34,78,38,87,98,23,67,76,56; FILE *OUT; fun(a,10); printf(n排序后的结果为:n); for(i=0;i=9;i+) printf(%5d,ai ); printf(n); if(OUT=fopen(out.dat,w)=NULL) printf(写入文件失败!); for(i=0;i=9;i+) fprintf
11、(OUT,%dn,ai); fclose(OUT);6【程序设计】功能:将主函数中输入的字符串反序存放。例如:输入字符串abcdefg,则应输出gfedcba。#include stdio.h#include string.h#include conio.h#define N 81void fun(char str,int n) int i,j; char c;for(i=0,j=n-1;ij;i+,j-) c=stri;stri=strj;strj=c;void main()void TestFunc(); char s N; int l; printf(input a string:);g
12、ets(s); l=strlen(s); fun(s,l); printf(The new string is :);puts(s); TestFunc();void TestFunc()FILE *IN,*OUT; char sIN20,*sOUT; int iLENGTH; IN=fopen(in.dat,r); if(IN=NULL) printf(Please Verify The Currernt Dir.It May Be Changed); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Please Verify The Current Di
13、r. It May Be Changed); fscanf(IN,%s,sIN); iLENGTH=strlen(sIN); sOUT=sIN; fun(sIN,iLENGTH); fprintf(OUT,%sn,sOUT); fclose(IN); fclose(OUT);7【程序设计】功能:实现两个整数的交换。例如:给a和b分别输入:60和65,输出为:a=65 b=60#include stdio.h#include conio.hvoid fun(int *a,int *b)int t; t=*a;*a=*b;*b=t; main() int a,b; void TestFunc();
14、 printf(Enter a,b:); scanf(%d%d,&a,&b); fun(&a,&b); printf(a=%d b=%dn,a,b); TestFunc();void TestFunc() FILE *IN,*OUT; int a,b,n; IN=fopen(in.dat,r); if(IN=NULL) printf(Read File Error); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Write File Error); for(n=0;n5;n+) fscanf(IN,%d%d,&a,&b); fun(&a,&b); fpr
15、intf(OUT,a=%d b=%dn,a,b); fclose(IN); fclose(OUT);8【程序设计】功能:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的百位和个位上, b数的十位和个位数依次放在c数的十位和千位上。 例如:当a45,b=12。调用该函数后,c=2415。 #include stdio.hlong fun(int a, int b) long c; int i,j,k,t; i=a/10; j=a%10; k=b/10; t=b%10; c=t*1000+100*i+10*k+j; return c; void
16、main() int a,b; long c; void NONO ( ); printf(Input a, b:); scanf(%d%d, &a, &b); c=fun(a,b); printf(The result is: %ldn, c); NONO(); void NONO ( ) FILE *rf, *wf ; int i, a,b ; long c ; rf = fopen(in.dat, r) ; wf = fopen(out.dat,w) ; for(i = 0 ; i 10 ; i+) fscanf(rf, %d,%d, &a, &b) ; fun(a, b, &c) ;
17、fprintf(wf, a=%d,b=%d,c=%ldn, a, b, c) ; fclose(rf) ; fclose(wf) ; 0【程序设计】功能:输入一个字符串,过滤此串只保留串中的字母字符,并统计新生成串中包含的字母个数。 例如:输入的字符串为ab234$df4,新生成的串为abdf 。 #include stdio.h#include conio.h#define N 80void main() char strN; int fun(char ptr ); void TestFunc();int s; printf(input a string:);gets(str); print
18、f(The original string is :); puts(str); s=fun(str); printf(The new string is :);puts(str); printf(There are %d char in the new string.,s);TestFunc();int fun(char ptr )/*Begin*/ int i,j;for(i=0,j=0; ptri!=0;i+)if(ptri=a| ptri=A) ptrj= ptri;j+;ptrj=0;return(j); void TestFunc()FILE *IN,*OUT; char sINN;
19、 int iOUT; IN=fopen(in.dat,r); if(IN=NULL) printf(Please Verify The Currernt Dir.It May Be Changed); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Please Verify The Current Dir. It May Be Changed); fscanf(IN,%s,sIN); iOUT=fun(sIN); fprintf(OUT,%d %sn,iOUT,sIN); fclose(IN); fclose(OUT);11【程序设计】功能:计算并输出给定
20、整数n的所有因子之和(不包括1与自身)。 注意:n的值不大于1000。例如:n的值为855时,应输出704。#include”stdio.h”int fun(int n) int s=0,i; for(i=2;in;i+)if(n%i=0)s=s+i; return s; void main() void TestFunc(); printf(s=%dn,fun(855); TestFunc();void TestFunc() FILE *IN,*OUT; int iIN,iOUT,i; IN=fopen(in.dat,r); if(IN=NULL) printf(Please Verify
21、The Currernt Dir.It May Be Changed); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Please Verify The Current Dir. It May Be Changed); for(i=0;i5;i+) fscanf(IN,%d,&iIN); iOUT=fun(iIN); fprintf(OUT,%dn,iOUT); fclose(IN); fclose(OUT);12【程序设计】、题目:用函数求一个N阶方阵右下三角元素的和(包括副对角线上的元素) 。 #include stdlib.h#include st
22、dio.h#define N int sum(int aN) /*Begin*/ int i,j,k=0; for(i=0;iN;i+) for(j=N-1-i;jN;j+) k=k+aij; return(k); /* End */void main() int aNN,i,j; void TestFunc(); for(i=0;iN;i+) for(j=0;jN;j+) aij=rand()%10+10; /rand函数的功能是产生一个随机整数 printf(%3d,aij); printf(n); printf(=n); printf(sum=%5dn,sum(a); TestFunc(
23、);void TestFunc() FILE *IN,*OUT; int m,n; int i33; int o; IN=fopen(in.dat,r); if(IN=NULL) printf(Read File Error); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Write File Error); for(m=0;m3;m+) for(n=0;n3;n+) fscanf(IN,%d,&imn); o=sum(i); fprintf(OUT,%dn,o); fclose(IN); fclose(OUT);13【程序设计】题目:用while语句求
24、1n的累计和。注意: 请在Begin 和 End 注释行之间填写代码,所有注释语句都不能删除。#include void TestFunc();int fun(int n) /*Begin*/int i=1,sum=0; while(i=n) sum=sum+i; i+; return sum; /* End */void main() int sum = 0; sum=fun(100); printf (sum = %dn, sum); TestFunc();void TestFunc() FILE *IN,*OUT; int i; int iIN,iOUT; IN=fopen(in.dat
25、,r); if(IN=NULL) printf(Please Verify The Currernt Dir.It May Be Changed); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Please Verify The Current Dir. It May Be Changed); for(i=0;i5;i+) fscanf(IN,%d,&iIN); iOUT=fun(iIN); fprintf(OUT,%dn,iOUT); fclose(IN); fclose(OUT);14【程序设计】-功能:从键盘为一维整型数组输入10个整数,调用fun
26、函数找出其中最小的数,并在main函输出。 #include stdio.hint fun(int x,int n) int min,i;min=x0;for(i=1;in;i+)if(ximin) min=xi;return min; /* End */void main() void TestFunc(); int a10,i,min; for(i=0;i10;i+) scanf(%d,&ai); for(i=0;i10;i+) printf(%3d,ai); printf(n); min=fun(a,10); printf(%dn,min); TestFunc();void TestFunc() FILE *IN,*OUT; int iIN10,i; int iOUT,iCOUNT; IN=fopen(4.in,r); if(IN=
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1