1、C语言基本程序13. 输入一个五位以内正整数,判断该数是几位数,并以逆序的形式输出。 (如输入 12345,输出成 54321) # include void main ()int i=0,n;scanf(%d,&n) ;while(n0) printf(%d,n%10); n/=10; i+; printf(n%d,i); getch() ; 14. 输入两个自然数 m和 n,求它们的最小公倍数# include void main ()int a,b,p;scanf(%d%d,&a,&b) ;for(p=1;p=a*b;p+)if(p%a=0&p%b=0)break;printf(n%d,
2、p);getch() ; 15. 输入两个自然数 m和 n,求它们的最大公因数# include void main () int a,b,p; scanf(%d%d,&a,&b); p=ab?a:b; for(;p=0;p-) if(a%p=0&b%p=0)break; printf(n%d,p); getch() ;16、根据公式求值。求的近似值,直到最后一项的 值小于 10e-8 为止.# include # include void main () int i=1; double t=1,s=0; while (t=10e-8) s+=t; i+; t=1.0/i/i; printf(
3、%g,sqrt(s*6); getch(); 22输出如下由星号组成的三角形图案(2).# include void main () int i,j,k; for(i=1;i=5;i+) for(j=1;j=5-i;j+) printf( ) ; for(k=1;k=i;k+) printf(*); printf(n); getch(); (4).# include void main() int i,j,k; for(i=1;i=5;i+) for(j=1;j=1;k-) printf(*) ; printf(n) ; getch(); 23.水仙花# include void main()
4、int i,a,b,c;for(i=100;i1000;i+) a=i%10; b=i/10%10; c=i/100; if(a*a*a+b*b*b+c*c*c=i)printf(%dt,i) ;getch(); 24.设计一程序,对输入的字符串进行过滤,挑选数字串,如输入字符串: abc123edf456gh,得输出结果:123456。#include void main() char c; for(;(c=getchar()!=n;) if(c=0&c=9) printf(%c,c); getch();28、输入一组整数,输出其中大于平均数的整数。#include # include #
5、include void main () int i,a10,s=0; randomize(); for(i=0;i10;i+) scanf(%d,&ai); s+=i ; s=s/10; printf(n%dn,s); for(i=0;is) printf(%dt,ai) ; getch();29、利用数组求菲波那契数列的前二十项, 并求其和。 (要求输出时一行显示五个数据)#includevoid main() int i,s; int a20=1,1; s=2; for(i=2;i20;i+) ai=ai-2+ai-1; s=s+ai; for(i=0;i20;i+) if(i%5=0)
6、printf(n); printf(%10d,ai); printf(n); printf(%d,s); getch(); 30、输入 10 个学生的成绩,求出其中的最高分、最低分和平均分。#include#include#include#define N 10void main() int i,aN,max,min; double s; randomize(); for(i=0;iN;i+) ai=random(60)+40; printf(%dt,ai); s=max=0; min=100; for(i=0;iai) min=ai; if(maxai) max=ai; printf(nAv
7、er:%g,s/N); printf(nMax:%d,max); printf(nMin:%d,min); getch(); 32、随机产生十个 100 以内的正整数,降序排列后输出。#include#include#include#define N 10void main() int i,aN,j,t; randomize(); for(i=0;i10;i+) ai=random(100); printf(%5d,ai); printf(nn) ; for(i=0;iN;i+) for(j=0;j10-i;j+) if(ajaj+1) t=aj; aj=aj+1; aj+1=t; for(i
8、=0;iN;i+) printf(%5d,ai); getch(); 34、随机产生十个 20以内的正整数,输出该组数。将其中重复的数从数组剔除后,再 输出。#include#include#include#define N 10void main() int i,aN,j; randomize(); for(i=0;iN;i+) ai=random(20); printf(%dt,ai); printf(n%dt,a0); for(i=1;iN;i+) for(j=1;ji;j+) if(ai=aj)break; if(i=j) printf(%dt,ai); getch(); 35. 35
9、、产生一个 5*5 的随机数矩阵,输出之,并求其对角线之和。#include#include#define N 5void main() int i,aNN,j,s,t; s=t=0; randomize(); for(i=0;iN;i+) for(j=0;j5;j+) aij=random(100); printf(%dt,aij); printf(n); for(i=0;iN;i+) s+=aii; printf(%dn,s); for(i=0;iN;i+) j=4-i; t+=aij; printf(%d,t); getch(); 36、输出如下杨辉三角形。#include#define
10、 N 8void main() int i,j,aNN=1; for(i=1;iN;i+) ai0=1; for(j=1;j=i;j+) aij=ai-1j+ai-1j-1; for(i=0;iN;i+) for(j=0;j=i;j+) printf(%5d,aij); printf(n) ; getch(); 37、任意输入一个字符串,输出其中各字符对应的 ASCII 码。 #includevoid main() char a20; int i,x ; gets(a); x=strlen(a) ; for(i=0;ix;i+) printf(%c-%dn,ai,ai); getch(); 3
11、9、键盘输入一行英文,试将其中的单词分行输出,并统计单词个数。 (单词之间不限 空格数)#include void main() char c1,c2,a20; int i,n=0; c1= ; printf(enter a line:); gets(a); for(i=0;ai!=0;i+) c2=ai; if(c1= &c2!= ) n+; printf(n%c,c2); else if(c2!= )printf(%c,c2); c1=c2; printf(n words:%d,n); getch(); 42、输入一行字符,分别统计其中字母、数字、空格和其它字符的个数#include vo
12、id main() char a50; int i,x,j,m,n; j=m=n=0; gets(a); x=strlen(a); for(i=0;ai!=0;i+) if(ai=a&ai=A&ai=0&ain) ,求 如数值不合适,提示“error data”的错误信息。#include double fac(int x) double p=1; for(;x0;x-) p*=x; return p; void main() int m,n; printf(Enter two number:); scanf(%d%d,&m,&n); printf(%g,fac(m)/fac(n)/fac(m
13、-n); getch();46、验证任何一个偶数可分解成两个素数之和。利用 isPrame函数(需要预先定义,用 以判断一个整数是否素数) ,请输出所有两位偶数的分解式。#include int isprime(int n) int i; for(i=2;in;i+) if(n%i=0)break; if(i=n) return 1; else return 0; void main() int j,a,b; int isprime (int j) ; for(j=10;j100;j+) for(a=2;aj;a+) b=j-a ; if(isprime(a)*isprime(b)=1) pr
14、intf(%d=%d+%dttt,j,a,b); break; if(a=j) printf(errorn); getch(); 49、设计一个函数 Maxdivisor,求两个自然数的最大公约数。利用该函数求一组数的最 大公约数。# include int maxdivisorint (int m ,int n) int min,i; min=(mn)?n:m; for(i=min;i0;i-) if(m%i=0&n%i=0)break; return i; void main() int a,b; scanf(%d%d,&a,&b); printf(%d,maxdivisorint(a,b
15、); getch();50、设计一函数 countvalue(int n),该函数的功能是:找出所有 n以内满足 i,i+4,i+10 都是素数的素数对(i+10 也在 n以内)及其总对数。 利用该函数求 100 以内这样的素数 对,及其总对数。 #include int isPrime(int m) int i; for(i=2;im;i+) if(m%i=0)break; if(i=m)return 1; return 0; int countvalue(int n) int i,num=0; for(i=2;in-10;i+) if (isPrime(i)*isPrime(i+4)*is
16、Prime(i+10) printf(%dt%dt%dn,i,i+4,i+10); num+; return num; void main() printf(Number:%d,countvalue(100); getch();52、设计函数 mincn,求一组自然数(数组)的最小公倍数。在 main 函数中产生五个20以内的随机自然数,利用 mincn函数求五个数的最小公倍数。#include int mincn(int a,int n) int p,i; for(p=a0;p=1;p+) for(i=0;in;i+) if(p%ai!=0)break; if(i=n)return p; v
17、oid main() int i,b5; randomize(); for(i=0;i5;i+) bi=random(10); printf(%dt,bi); printf(n%d,mincn(b,5); getch(); 54、设计函数 sort,可对一组数进行升序处理。main 函数中产生十个随机整数,利用 sort 函数排序,后输出。 (要求:main函数中输出有序数据)#include #include #include void sort(int a,int n) int i,j,t; for(i=0;in;i+) for(j=0;jaj+1) t=aj; aj=aj+1; aj+1
18、=t; void main() int i,b10; randomize(); for(i=0;i10;i+) bi=random(100); printf(%dt,bi); printf(n); sort(b,10); for(i=0;i10;i+) printf(%dt,bi); getch();57、main函数中输入一组数,通过 count 函数求其中的最大数、最小数和平均数。#include #include #include #define n 10void count (int *p,int x,int *p1,int *p2,int *p3) int i; *p1=*p2=*p
19、3=*p; for(i=1;in;i+) p+; *p3+=*p; if(*p1*p)*p2=*p; *p3/=x; void main() int an,max,min,aver,i; randomize(); for(i=0;in;i+) printf(%dt,ai=random(100); count(a,n,&max,&min,&aver); printf(nmax=%d,min=%d,aver=%d,max,min,aver); getch(); 60、产生一组 n个随机数,将其中前 m个数移到后面,后 nm个数移到前面。 (n和 m 在程序运行时由键盘输入) 。#include #include #include void main() int a100,*p,*q,n,m; scanf(%d%d,&n,&m); randomize(); for(p=a;pa+n;p+) printf(%dt,*p=random(100); printf(n); for(q=a;qa+m;q+) *p+=*q; for(q=a+m;qa+m+n;q+) printf(%dt,*q); getch();
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1