博文

多项式相乘(2006-08-07 16:30:00)

摘要:/*本程序在输入多项式时候,先输入低次系数,在输入高次*/
/*write by elva6401*/
#include <stdio.h>
int main()
{
int m,n,*k;
int *a,*b,*c;
int i;
printf("Enter the number of m,n\n");
scanf("%d%d",&m,&n);
m++;
n++;
a=(int *)malloc(m*sizeof(int));
b=(int *)malloc(n*sizeof(int));
c=(int *)malloc((m+n-1)*sizeof(int));
printf("Enter the a\n");
for(i=0;i<m;i++)
scanf("%d",&a[i]);
printf("\nThe a is:\n");
for(i=0;i<m;i++)
{
if (i!=0) printf("+");
printf("%dx^%d",a[i],i);
}
printf("\nEnter the b\n");
for(i=0;i<n;i++)
scanf("%d",&b[n-i-1]);
printf("The b is:\n");
for(i=0;i<n;i++)
{
if (i!=0) printf("+");
printf("%dx^%d",b[i],i);
}
muity(a,m,b,n,c,k);
printf("\nThe c is:\n");
for(i=0;i<*k-1;i++)
{
if ......

阅读全文(4378) | 评论:5 | 复制链接

五 字 棋 游 戏(2006-08-07 16:28:00)

摘要: #include <iostream>
#include <stdlib.h>
using namespace std;
class fivegame
{ char m,n;
int h,l;
 char z;
 char list[20][20];
public:
 int kk;
 int init();
 int enterchar(char q);
 int print();
 int pk();
 int ifwin();
 bool ison;
 bool test();
 char list1[5];
 int puout(); 
}; 



int fivegame::puout()
{ cout<<" 这 是 个 五 字 棋 游 戏 "<<endl;
 cout<<" 制作--elva6401-- "<<endl;
 cout<<" (注:行列都要用大写字母)"<<endl;
return 0;
}
 bool fivegame::test()
{
 int i;
for (i=0;i<=4;i++)
{if (list1[i]!=z)
return false;}
return&nbs......

阅读全文(7920) | 评论:9 | 复制链接

tc下的迷宫游戏(2006-08-07 16:24:00)

摘要:#include "stdio.h"
#include "conio.h"
 main()
 {
int i,j,temp; int k;int x=22,y=23;
int a[24][25]={
 1,0,1,0,1,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,1,
 1,0,1,0,1,1,1,0,1,0,1,1,1,0,1,1,1,1,1,0,1,0,1,1,1,
 1,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,
 1,0,1,0,1,1,1,0,1,0,1,1,1,0,1,0,1,1,1,0,1,0,1,1,1,
 1,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,1,
 1,0,1,0,1,1,1,0,1,1,1,1,1,0,1,0,1,1,1,1,1,0,1,0,1,
 1,0,0,0,0,0,1,0,1,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,1,
 1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,1,1,0,1,1,1,0,1,
 1,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,1,0,1,0,0,0,1,0,1,
 1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0,1,1,1,1,1,
 1,0,0,0,0,0,1,0,1,0,1,0,0,0,1,0,1,0,0,0,0,0,1,0,1,
 1,1,1,0,1,1,1,0,1,0,1,1,1,0,1,0,1,0,1,1,1,0,1,0,1,
 1,0,0,0,0,0,1,0,1,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,
 1,1,1,0,1,1,1,0,1,0,1,1,1,0,1,0,......

阅读全文(3996) | 评论:1 | 复制链接

破解求pi的怪异程序(转)(2006-07-28 10:12:00)

摘要:Cong Wang
25th November,2005


Institute of Post and Telecommunication, Xi'an, PRC China
Network Engineering Dep.


引言
  网上流传着一个怪异的求pi程序,虽然只有三行却能求出pi值连小数点前共800位。这个程序如下:

/*某年Obfuscated C Contest佳作选录:*/
#include < stdio.h>
long a=10000, b, c=2800, d, e, f[2801], g;
main(){
for(;b-c;)f[b++]=a/5;
for(;d=0,g=c*2;c-=14,printf("%.4d",e+d/a),e=d%a)
for(b=c;d+=f[b]*a,f[b]=d%--g,d/=g--,--b;d*=b);
}

/* (本程式可算出pi值连小数点前共800位)
(本程式录自sci.math FAQ,原作者未详)*/

咋一看,这程序还挺吓人的。别慌,下面就告诉你它是如何做到的,并且告诉你写怪异C程序的一些技巧。^_^

展开化简
  我们知道,在C语言中,for循环和while循环可以互相代替。

  for(statement1;statement2;statement3){
    statements;
  }

上面的for语句可以用下面的while语句来代替:

  statement1;
  while(statement2){
    statements;
    statement3;
  }

而且要写怪异的C程序,逗号运算符无疑是一个好的助手,它的作用是:
从左到右依次计算各个表达式的值,并且返回最右边表达式的值。
把它嵌入for循环中是写怪异代码的常用技巧之一。所以,上面的程......

阅读全文(3379) | 评论:0 | 复制链接

模拟烟花爆炸效果(2006-07-28 10:10:00)

摘要:作者:liren0
下面程序在TC2.0下调式通过  
      小弟现丑了
     请各位大哥大姐指点
    
  付:请注意最后一个函数

/******************************************
    程序功能: 模似烟花爆炸较果
        作者: lirne
        时间: 06.04.14
        联系: liren0@126.com
*******************************************/

#include <graphics.h>
#include <math.h>
#include <stdlib.h>
#define SPEED 50          /*定义烟花运动的最大初速度*/
#define LTIME 30          /*定义烟花的最大生命值*/
#define MAX 40            /*定义烟花的最大个数*/
#define g 9.8&nb......

阅读全文(4732) | 评论:1 | 复制链接

对置顶贴猜数字的一点解释.(2006-07-26 12:35:00)

摘要: ·  评论人:廿定角   时间:2006-7-25 22:37:00   前几篇就这个看的懂。哈哈   看来有必要解释一下: 要电脑猜中你想的数字,首先电脑会先猜你想的4个数字是什么(先不管顺序)。思路是先猜0 1 2 3 4这5个数字有几个数字包含在你想的数字中,comp(int a,int b,int c,int d)这个函数的返回值是a,b,c,d有几个数是你想的数。comp(guess[0],guess[1],guess[2],guess[3])情况相当,分情况考虑,等于0,4这就不说了。这来说一下等1,2,3的情况:假如等于1吧 则0,1,2,3可以写成 A,X,X,X(A表示是你想的数字,X则不是)用数字4分别代替0,1,2,3可能可以得到2种情况: 1).假如4是你想的数字即为A,则代入4有:            Comp函数的结果 A X X X          x[2]=1 A A X X          x[3]=2 A X A X          x[4]=2 A X X A          x[5]=2 x[2]+x[3]+x[4]+x[5]>4*x[1] 用这个就可以判断数字4是你想的数字,在反过去判断0,1,2,3是否是你想的数字。。 2).假如4不是你想的数字即为X,代入4有:              Comp函数的结果 X X X X       &nbs......

阅读全文(3490) | 评论:0 | 复制链接

猜数字游戏(你想数字,电脑猜)(2006-07-25 21:20:00)

摘要:#include <iostream.h> #include <string.h>   int s[24]={     1234,1243,1324,1342,1432,1423,     2134,2143,2314,2341,2431,2413,     3214,3241,3124,3142,3412,3421,     4231,4213,4321,4312,4132,4123};   int comp(int a,int b,int c,int d) {     char s[5];     cout<<a<<" "<<b<<" "<<c<<" "<<d<<endl;     cin>>s;     return s[0]-‘0’+s[2]-‘0’; }   int comp2(int a,int b,int c,int d) {     char s[5];     cout<<a<<" "<<b<<" "<<c<<" "<<d<<endl;     cin>>s;     if(s[0]!=4)//顺序还没有完全对     return 0;     else     return 1; }         int main() {     int i,j;   &nbs......

阅读全文(5744) | 评论:3 | 复制链接

猜数字游戏(解释)(2006-07-25 20:11:00)

摘要:随机给4个数字,要求是4个数字的范围0-9且各不相同,但有顺序。要你猜这4个数字。如果你猜的数字中一个数字和给的数字相同且位置相同就得一个A,如果猜对了数字但位置不对就得一个B. 比如给的数字是7 4 8 2而你猜的是5 4 2 6你就可以得到一个1A1B(第2个4猜对了且位置也正好,2则位置没有猜对)。 附:电脑出数字,你来猜. #include <iostream.h> int main() {     int a[4],b[4];     int i=0,j,k,flag;     int A,B;     //用了一个flag变量,等于1表示随机已经产生过了        i=0;        while(i<4)        {            flag=0;            k=rand()%10;            for(j=0;j<i;j++)            if(a[j]==k)               flag=1;            if(flag==0) {a[i]=k;i++;}     ......

阅读全文(4312) | 评论:2 | 复制链接

test(2006-01-02 19:46:00)

摘要:a b c中间的一个数. a>b
? (b>c ? b : (c>a ? a : c))
: (a>c ? a : (c>b ? b : c))......

阅读全文(7216) | 评论:0 | 复制链接

C++吧第六界编程大赛.(2005-12-24 23:28:00)

摘要:最近又圣诞节又是元旦,还要准备复习,相信大家都很忙了。
本次比赛用一道比较有趣的题目。

要求:就是输出原代码。就是你写的代码是什么就在屏幕上输出什么。
没有输入。(这是我在programfan上看到一道题,觉的蛮好的)


Input: 


Output: 
你的代码。 http://post.baidu.com/f?kz=73615515......

阅读全文(5055) | 评论:0 | 复制链接