C语言基本程序.docx

上传人:b****8 文档编号:11045770 上传时间:2023-02-24 格式:DOCX 页数:19 大小:18.23KB
下载 相关 举报
C语言基本程序.docx_第1页
第1页 / 共19页
C语言基本程序.docx_第2页
第2页 / 共19页
C语言基本程序.docx_第3页
第3页 / 共19页
C语言基本程序.docx_第4页
第4页 / 共19页
C语言基本程序.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

C语言基本程序.docx

《C语言基本程序.docx》由会员分享,可在线阅读,更多相关《C语言基本程序.docx(19页珍藏版)》请在冰豆网上搜索。

C语言基本程序.docx

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();

for(p=a;p

printf("%d\t",*p=random(100));

printf("\n");

for(q=a;q

*p++=*q;

for(q=a+m;q

printf("%d\t",*q);

getch();

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1