龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C/C++开发 >

C语言程序设计经典实例之九

时间:2009-12-22 15:42来源:未知 作者:admin 点击:
分享到:
【程序81】 题目:809*??=800*??+9*??+1 其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。 1.程序分析: 2.程序源代码: output(long b,long i) {

【程序81】

  

  题目:809*??=800*??+9*??+1 其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。

  

  1.程序分析:

  

  

  

  2.程序源代码:

  

  

output(long b,long i)

  {

   printf("

%ld/%ld=809*%ld+%ld",b,i,i,b%i);

  }

  main()

  {

   long int a,b,i;

   a=809;

   for(i=10;i<100;i++)

   {

  b=i*a+1;

  if(b>=1000&&b<=10000&&8*i<100&&9*i>=100)

   output(b,i);

   }

  }

  【程序82】

  

  题目:八进制转换为十进制

  

  1.程序分析:   

  

  2.程序源代码:

  

  

main()

  {

   char *p,s[6];int n;

   p=s;

   gets(p);

   n=0;

   while(*(p)!='\0')

   {

  n=n*8+*p-'0';

  p++;

   }

   printf("%d",n);

  }

  【程序83】

  

  题目:求0―7所能组成的奇数个数。

  

  1.程序分析:

  

  2.程序源代码:

  

  

main()

  {

   long sum=4,s=4;

   int j;

   for(j=2;j<=8;j++)/*j is place of number*/

   {

  printf("

%ld",sum);

  if(j<=2)

   s*=7;

  else

   s*=8;

  sum+=s;

   }

   printf("

sum=%ld",sum);

  }

【程序84】

  

  题目:一个偶数总能表示为两个素数之和。

  

  1.程序分析:

  

  2.程序源代码:

  

  

#include "stdio.h"

  #include "math.h"

  main()

  {

   int a,b,c,d;

   scanf("%d",&a);

   for(b=3;b<=a/2;b+=2)

   {

  for(c=2;c<=sqrt(b);c++)

  if(b%c==0) break;

  if(c>sqrt(b))

   d=a-b;

  else

   break;

  for(c=2;c<=sqrt(d);c++)

   if(d%c==0) break;

   if(c>sqrt(d))

  printf("%d=%d+%d

",a,b,d);

   }

  }

  【程序85】

  

  题目:判定一个素数能被几个9整除

  

  1.程序分析:

  

  2.程序源代码:

  

  

main()

  {

   long int m9=9,sum=9;

   int zi,n1=1,c9=1;

   scanf("%d",&zi);

   while(n1!=0)

   {

  if(!(sum%zi))

   n1=0;

  else

  {

   m9=m9*10;

   sum=sum+m9;

   c9++;

  }

   }

   printf("%ld,can be divided by %d "9"",sum,c9);

  }

  【程序86】

  

  题目:两个字符串连接程序

  

  1.程序分析:

  

  2.程序源代码:

  

  

#include "stdio.h"

  main()

  {

   char a[]="acegikm";

   char b[]="bdfhjlnpq";

   char c[80],*p;

   int i=0,j=0,k=0;

   while(a[i]!='\0'&&b[j]!='\0')

   {

  if (a[i] { c[k]=a[i];i++;}

  else

   c[k]=b[j++];

   k++;

   }

   c[k]='\0';

   if(a[i]=='\0')

  p=b+j;

   else

  p=a+i;

  strcat(c,p);

  puts(c);

  }

【程序87】

  

  题目:回答结果(结构体变量传递)

  

  1.程序分析:   

  

  2.程序源代码:

  

  

#include "stdio.h"

  strUCt student

  {

   int x;

   char c;

  } a;

  main()

  {

   a.x=3;

   a.c='a';

   f(a);

   printf("%d,%c",a.x,a.c);

  }

  f(struct student b)

  {

   b.x=20;

   b.c='y';

  }

  【程序88】

  

  题目:读取7个数(1―50)的整数值,每读取一个值,程序打印出该值个数的*。

  

  1.程序分析:

  

  2.程序源代码:

  

  

  

main()

  {

   int i,a,n=1;

   while(n<=7)

   {

  do

  {

   scanf("%d",&a);

  }while(a<1a>50);

  for(i=1;i<=a;i++)

   printf("*");

  printf("

");

  n++;

   }

   getch();

  }

  【程序89】

  

  题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。

  

  1.程序分析:

  

  2.程序源代码:

  

  

main()

  {

   int a,i,aa[4],t;

   scanf("%d",&a);

   aa[0]=a%10;

   aa[1]=a%100/10;

   aa[2]=a%1000/100;

   aa[3]=a/1000;

   for(i=0;i<=3;i++)

   {

  aa[i]+=5;

  aa[i]%=10;

   }

   for(i=0;i<=3/2;i++)

   {

  t=aa[i];

  aa[i]=aa[3-i];

  aa[3-i]=t;

   }

   for(i=3;i>=0;i--)

  printf("%d",aa[i]);

  }

  【程序90】

  

  题目:专升本一题,读结果。

  

  1.程序分析:

  

  2.程序源代码:

  

  

#include "stdio.h"

  #define M 5

  main()

  {

   int a[M]={1,2,3,4,5};

   int i,j,t;

   i=0;j=M-1;

   while(i {t=*(a+i);

  *(a+i)=*(a+j);

  *(a+j)=t;

  i++;j--;

   }

   for(i=0;i printf("%d",*(a+i));

  }

  

精彩图集

赞助商链接