C语言基本程序.docx
- 文档编号:11045770
- 上传时间:2023-02-24
- 格式:DOCX
- 页数:19
- 大小:18.23KB
C语言基本程序.docx
《C语言基本程序.docx》由会员分享,可在线阅读,更多相关《C语言基本程序.docx(19页珍藏版)》请在冰豆网上搜索。
C语言基本程序
13.输入一个五位以内正整数,判断该数是几位数,并以逆序的形式输出。
(如输入
12345,输出成54321)
#include
voidmain(){
inti=0,n;
scanf("%d",&n);
while(n>0){
printf("%d",n%10);
n/=10;
i++;
}
printf("\n%d",i);
getch();
}
14.输入两个自然数m和n,求它们的最小公倍数
#include
voidmain(){
inta,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",p);
getch();
}
15.输入两个自然数m和n,求它们的最大公因数
#include
voidmain(){
inta,b,p;
scanf("%d%d",&a,&b);
p=a>b?
a:
b;
for(;p>=0;p--)
if(a%p==0&&b%p==0)break;
printf("\n%d",p);
getch();
}
16、根据公式求π值。
求π的近似值,直到最后一项的值小于10e-8为止.
#include
#include
voidmain(){
inti=1;
doublet=1,s=0;
while(t>=10e-8){
s+=t;
i++;
t=1.0/i/i;
}
printf("%g",sqrt(s*6));
getch();
}
22输出如下由星号组成的三角形图案
(2).#include
voidmain(){
inti,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
voidmain(){
inti,j,k;
for(i=1;i<=5;i++){
for(j=1;j
printf("");
for(k=11-2*i;k>=1;k--)
printf("*");
printf("\n");
}
getch();
}
23.水仙花
#include
voidmain(){
inti,a,b,c;
for(i=100;i<1000;i++){
a=i%10;
b=i/10%10;
c=i/100;
if(a*a*a+b*b*b+c*c*c==i)
printf("%d\t",i);}
getch();
}
24.设计一程序,对输入的字符串进行过滤,挑选数字串,如输入字符串:
abc123edf456gh,得输出结果:
123456。
#include
voidmain(){
charc;
for(;(c=getchar())!
='\n';)
if(c>='0'&&c<='9')
printf("%c",c);
getch();
}
28、输入一组整数,输出其中大于平均数的整数。
#include
#include
#include
voidmain(){
inti,a[10],s=0;
randomize();
for(i=0;i<10;i++){
scanf("%d",&a[i]);
s+=i;
}
s=s/10;
printf("\n%d\n",s);
for(i=0;i<10;i++){
if(a[i]>s)
printf("%d\t",a[i]);
}
getch();
}
29、利用数组求菲波那契数列的前二十项, 并求其和。
(要求输出时一行显示五个数据)
#include
voidmain(){
inti,s;
inta[20]={1,1};
s=2;
for(i=2;i<20;i++){
a[i]=a[i-2]+a[i-1];
s=s+a[i];
}
for(i=0;i<20;i++){
if(i%5==0)printf("\n");
printf("%10d",a[i]);
}
printf("\n");
printf("%d",s);
getch();
}
30、输入10个学生的成绩,求出其中的最高分、最低分和平均分。
#include
#include
#include
#defineN10
voidmain()
{inti,a[N],max,min;
doubles;
randomize();
for(i=0;i a[i]=random(60)+40; printf("%d\t",a[i]); } s=max=0; min=100; for(i=0;i {s+=a[i]; if(min>a[i])min=a[i]; if(max printf("\nAver: %g",s/N); printf("\nMax: %d",max); printf("\nMin: %d",min); getch(); } 32、随机产生十个100以内的正整数,降序排列后输出。 #include #include #include #defineN10 voidmain() {inti,a[N],j,t; randomize(); for(i=0;i<10;i++){ a[i]=random(100); printf("%5d",a[i]); } printf("\n\n"); for(i=0;i for(j=0;j<10-i;j++) if(a[j] { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } for(i=0;i printf("%5d",a[i]); getch(); } 34、随机产生十个20以内的正整数,输出该组数。 将其中重复的数从数组剔除后,再 输出。 #include #include #include #defineN10 voidmain() {inti,a[N],j; randomize(); for(i=0;i a[i]=random(20); printf("%d\t",a[i]); } printf("\n%d\t",a[0]); for(i=1;i for(j=1;j if(a[i]==a[j])break; if(i==j) printf("%d\t",a[i]);} getch(); } 35.35、产生一个5*5的随机数矩阵,输出之,并求其对角线之和。 #include #include #defineN5 voidmain(){ inti,a[N][N],j,s,t; s=t=0; randomize(); for(i=0;i for(j=0;j<5;j++){ a[i][j]=random(100); printf("%d\t",a[i][j]); } printf("\n"); } for(i=0;i s+=a[i][i]; printf("%d\n",s); for(i=0;i j=4-i; t+=a[i][j];} printf("%d",t); getch(); } 36、输出如下杨辉三角形。 #include #defineN8 voidmain(){ inti,j,a[N][N]={1}; for(i=1;i a[i][0]=1; for(j=1;j<=i;j++) a[i][j]=a[i-1][j]+a[i-1][j-1]; } for(i=0;i for(j=0;j<=i;j++) printf("%5d",a[i][j]); printf("\n"); } getch(); } 37、任意输入一个字符串,输出其中各字符对应的ASCII码。 #include voidmain(){ chara[20]; inti,x; gets(a); x=strlen(a); for(i=0;i printf("%c--%d\n",a[i],a[i]); getch(); } 39、键盘输入一行英文,试将其中的单词分行输出,并统计单词个数。 (单词之间不限 空格数) #include voidmain(){ charc1,c2,a[20]; inti,n=0; c1=''; printf("enteraline: "); gets(a); for(i=0;a[i]! ='\0';i++){ c2=a[i]; if(c1==''&&c2! =''){ n++; printf("\n%c",c2); } elseif(c2! ='')printf("%c",c2); c1=c2; } printf("\nwords: %d",n); getch(); } 42、输入一行字符,分别统计其中字母、数字、空格和其它字符的个数 #include voidmain(){ chara[50]; inti,x,j,m,n; j=m=n=0; gets(a); x=strlen(a); for(i=0;a[i]! ='\0';i++){ if(a[i]>='a'&&a[i]<='z'||a[i]>='A'&&a[i]<='Z')j++; elseif(a[i]>='0'&&a[i]<='9')m++; elseif(a[i]=='')n++; } printf("\nword=%d\nnumber=%d\nblank=%d\nothers=%d",j,m,n,x-j-m-n,x); getch(); } 43、输入整数m和n(m>n),求 如数值不合适,提示“errordata”的错误信息。 #include doublefac(intx){ doublep=1; for(;x>0;x--) p*=x; returnp; } voidmain(){ intm,n; printf("Entertwonumber: "); scanf("%d%d",&m,&n); printf("%g",fac(m)/fac(n)/fac(m-n)); getch(); 46、验证任何一个偶数可分解成两个素数之和。 利用isPrame函数(需要预先定义,用 以判断一个整数是否素数),请输出所有两位偶数的分解式。 #include intisprime(intn){ inti; for(i=2;i if(n%i==0)break; if(i==n)return1; elsereturn0; } voidmain(){ intj,a,b; intisprime(intj); for(j=10;j<100;j++){ for(a=2;a b=j-a; if(isprime(a)*isprime(b)==1){ printf("%d=%d+%d\t\t\t",j,a,b); break; } } if(a==j)printf("error\n"); } getch(); } 49、设计一个函数Maxdivisor,求两个自然数的最大公约数。 利用该函数求一组数的最 大公约数。 #include intmaxdivisorint(intm,intn){ intmin,i; min=(m>n)? n: m; for(i=min;i>0;i--) if(m%i==0&&n%i==0)break; returni; } voidmain(){ inta,b; scanf("%d%d",&a,&b); printf("%d",maxdivisorint(a,b)); getch(); 50、设计一函数countvalue(intn),该函数的功能是: 找出所有n以内满足i,i+4,i+10都是素数的素数对(i+10也在n以内)及其总对数。 利用该函数求100以内这样的素数 对,及其总对数。 #include intisPrime(intm){ inti; for(i=2;i if(m%i==0)break; if(i==m)return1; return0; } intcountvalue(intn){ inti,num=0; for(i=2;i if(isPrime(i)*isPrime(i+4)*isPrime(i+10)){ printf("%d\t%d\t%d\n",i,i+4,i+10); num++; } returnnum; } voidmain(){ printf("Number: %d", countvalue(100)); getch(); } 52、设计函数mincn,求一组自然数(数组)的最小公倍数。 在main函数中产生五个20以内的随机自然数,利用mincn函数求五个数的最小公倍数。 #include intmincn(inta[],intn){ intp,i; for(p=a[0];p>=1;p++){ for(i=0;i if(p%a[i]! =0)break; if(i==n)returnp; } } voidmain(){ inti,b[5]; randomize(); for(i=0;i<5;i++){ b[i]=random(10); printf("%d\t",b[i]); } printf("\n%d",mincn(b,5)); getch(); } 54、设计函数 sort,可对一组数进行升序处理。 main函数中产生十个随机整数,利用 sort函数排序,后输出。 (要求: main函数中输出有序数据) #include #include #include voidsort(inta[],intn){ inti,j,t; for(i=0;i for(j=0;j if(a[j]>a[j+1]){ t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } voidmain(){ inti,b[10]; randomize(); for(i=0;i<10;i++){ b[i]=random(100); printf("%d\t",b[i]); } printf("\n"); sort(b,10); for(i=0;i<10;i++) printf("%d\t",b[i]); getch(); } 57、main函数中输入一组数,通过count函数求其中的最大数、最小数和平均数。 #include #include #include #definen10 voidcount(int*p,intx,int*p1,int*p2,int*p3){ inti; *p1=*p2=*p3=*p; for(i=1;i p++; *p3+=*p; if(*p1<*p)*p1=*p; if(*p2>*p)*p2=*p; } *p3/=x; } voidmain(){ inta[n],max,min,aver,i; randomize(); for(i=0;i printf("%d\t",a[i]=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 voidmain(){ inta[100],*p,*q,n,m; scanf("%d%d",&n,&m); randomize();
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 基本 程序