博文

stu(1021)Z(2005-08-30 20:12:00)

摘要:这题是汕头大学的1021道题:答案是:
#include<stdio.h>
#include<stdlib.h>

int change()
{ char x;
  int sum=0;
  scanf("%c",&x);
  if(x!='0')
  { do
  { sum=sum+x-48;
    scanf("%c",&x);
  }while(x>=48);
  }
  else
    return(0);
  return(sum);
}

int root(long x)
{ int sum=0;
  while(x>9)
  { sum=sum+x%10;
    x=x/10;
  }
  return(sum+x);
}

int main()
{ int x;
  x=change();
  while(x)
  {
    do
    { x=root(x);
    }while(x>9);
    printf("%d\n",x);
    x=change();
  }......

阅读全文(2898) | 评论:0

产生4个(0-9)不同数的方法(2005-08-30 20:09:00)

摘要:int main()
{
int a[4];
int i=0,j,k,flag;
//用了一个flag变量,等于1表示随机已经产生过了
while(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++;}
}
for(i=0;i<4;i++)
printf("%d",a[i]);
printf("\n");
getch();
}
}
......

阅读全文(2632) | 评论:0

关于用fstream或cin输入数据的问题.(2005-08-30 18:20:00)

摘要:#include <iostream.h>
#include <fstream.h>
int main()
{
char s[25];
ofstream f1("data.txt");
f1<<"C++ Programing";
f1.close();
ifstream f2("data.txt");
f2>>s;
cout<<s<<endl;
f2.close();
return 0;
}

前几天有网友问了上面程序输出什么的时候,我看了一下就说是C++ Programing
但在VC++下测试,结果不对,结果只是C++.
考虑了很久,得出结论:用C++的文件流或cin输入字符串数据时候,一遇到空格程序就认为你已经完成了输入了.而把空格后面的数据作为后面的数据.
你可以测试下面的程序.
int main()
{
char s[25];
cin>>s;
cout<<s<<endl;
}
输入数据:C++ Programing
结果是不是:C++?
所以说用ofstream或cin不可以把有空格的字符串赋给s.

如果有一个程序的确想把C++ Programing赋给s怎么办?
1.首先我们可能会想到scanf()
int main()
{
char s[25];
scanf("%s",s);
printf("%s\n",s);
}

输入数据:C++ Programing
结果很失望还是:C++?

2.gets()
int main()
{
char s[25];
gets(s);
printf("%s\n",s);
}
输入数据:C++ Programing

阅读全文(3287) | 评论:0

pku(2591)(2005-08-28 14:10:00)

摘要:#include <iostream.h>
#include <stdio.h>
long a[10000002];
long min(long a,long b)
{
    if(a<b) return a;
    else
        return b;
}
int main()
{
    long i,j;
    long n,k;
        i=1,j=1;
        a[1]=1;
        for(k=2;k<=10000001;k++)
        {
            a[k]=min(2*a[i]+1,3*a[j]+1);
            if(2*a[i]+1==a[k])
                i++;
            if(3......

阅读全文(2354) | 评论:0

jnu(String Matching)(2005-08-27 16:00:00)

摘要:#include <iostream.h>
#include <fstream.h>
ifstream f("String.in");
#define cin f
#include <string.h>
int main()
{
    char a[1000],b[1000],temp[1000];
    while(cin>>a)
    {
        int total=0;
        int sum,i,j,k;
        if(strcmp(a,"-1")==0) return 0;
        cin>>b;
        cout<<"appx("<<a<<","<<b<<") = ";
        if(strlen(a)<strlen(b))
        {
            strcpy(temp,a);
    &nb......

阅读全文(2441) | 评论:0

jnu(Function Run Fun)(2005-08-27 16:00:00)

摘要:#include <math.h>
#include <iostream.h>
int w(int a,int b,int c)
{
    if(a<=0 || b<=0 || c<=0)
        return 1;
    else if(a>20 || b>20 || c>20)
        return w(20,20,20);
    else if(a==b && c==b)
        return (int)pow(2,a);
    else if((a<=b && a<=c) || (a<=c && b<=c) || (b>=a && b>=c))
        return (int)pow(2,a);
    else
    return w(a-1, b, c) + w(a-1, b-1, c) + w(a-1, b, c-1) - w(a-1, b-1, c-1) ;
}
int main()
{
    int a,b,c;
    while(cin>>a>>b>>c)
    {
 &n......

阅读全文(2873) | 评论:2

背包问题(ZT)(2005-08-26 16:02:00)

摘要:背包问题的递归算法
/*#include <stdio.h>
#define N 100 //物品总种数不是常量,没法根据它来决定数组的长度,只有先定义个长度了
int n;//物品总种数
double limitW;//限制的总重量
double totV;//全部物品的总价值
double maxv;//解的总价值
int option[N];//解的选择
int cop[N];//当前解的选择
struct {//物品结构
double weight;
double value;
}a[N];
//参数为物品i,当前选择已经达到的重量和tw,本方案可能达到的总价值
void find(int i,double tw,double tv)
{
int k;
//物品i包含在当前方案的可能性
if(tw+a[i].weight <= limitW){
cop[i]=1;
if(i<n-1)find(i+1,tw+a[i].weight,tv);
else{
for(k=0;k<n;++k)
option[k]=cop[k];
maxv=tv;
}
}
cop[i]=0;
//物品i不包含在当前方案的可能性
if(tv-a[i].value>maxv){
if(i<n-1)find(i+1,tw,tv-a[i].value);
else{
for(k=0;k<n;++k)
option[k]=cop[k];
maxv=tv-a[i].value;
}
}
}
void main()
{
int k;
double w,v;
printf("输入物品种数:");
scanf("%d",&n);
printf("输入各物品的重量和价值:");
for(totV=0.0,k=0;k<n;++k){<......

阅读全文(5815) | 评论:0

jnu(Partial Sums)(2005-08-26 14:48:00)

摘要:#include <iostream.h>
#include <fstream.h>
ifstream f("e.in");
#define cin f
int main()
{
    int n,m;
    int a[10000];
    int b[5000];
    int i,j;
    int sum=0,total;
    while(cin>>n>>m)
    {
        for(i=0;i<m;i++)
        b[i]=0;
        sum=total=0;
        for(i=0;i<n;i++)
        cin>>a[i];
        for(i=0;i<n;i++)
        {
            sum+=a[i];
    ......

阅读全文(2251) | 评论:0

男人和女人必看的十大电影 (2005-08-24 17:07:00)

摘要:女人十大必看电影:

1、《乱世佳人》2、《钢琴课》3、《蒂凡尼的早餐》4、《简爱》5、《上班女
郎》6、《母女情深》7、《紫色》8、《末路狂花》9、《漂亮女人》10、《女
人那话儿》

 
男人必看十大电影:

1、《阿甘正传》课程:执着 2、《东方不败》课程:才华 3、《美国往事》
课程:人生 4、《罗马假日》课程:爱情 5、《勇敢的心》课程:勇气 6、《
辛德勒的名单》课程:责任 7、《肖申克的救赎》课程:信念 8、《e.t》课程
:童心 9、《现代启示录》课程:痛苦 10、《第七封印》课程:哲思

1、《乱世佳人》
文学名著改编,得到很多女性读者的喜爱。而影片则同该书一样出色,曾荣获
第12届奥斯卡最佳影片、最佳导演、最佳女主角、最佳女配角、最佳改编剧
本、最佳艺术指导、最佳剪接等七项大奖,这些奖项得任何一个都足以引起人
们观看得欲望。克拉克?盖博和费雯?丽在片中演对手戏,就算你不在乎这些

导演技巧,艺术指导什么的,光是这两个大明星的表演和耳熟能祥的经典配
乐就能够使这近4个小时的影片变的不那么冗长。片中突出的郝思嘉的坚强永
远留在观众的心中



2、《钢琴课》
获第46届戛纳电影节金棕榈大奖,第六十六届奥斯卡最佳最佳女主角、女配角
,最佳剧本奖。影片导演简.坎皮恩(Campion Jane)也是女性,用女性思维
和感受去拍一部女性题材影片,应该更符合女性观众口味。影片给人印象最深
刻的就是主演霍利.亨特(Hunter Holly)饰演的哑女,只靠动作和表情就能
获得奥斯卡女主角奖。最后艾达在船上把钢琴推入海中,她也由于绳子缠绕被
拉入海中,在深蓝的海水中下沉,下沉……把她的沉寂带入海底,也把痛苦的
记忆沉入海中,给人以很强的震撼。

3、《蒂凡尼的早餐》
最初知道这部片子还是源于片中广为流传,经久不衰的插曲《moon river》(<<
月亮河>>)这首歌前不久还入选为“二十世纪最经典歌曲”。奥黛丽.赫本塑造
的霍莉性格饱满可信......

阅读全文(6636) | 评论:2

不讨人喜欢的26种社交缺点 (2005-08-24 16:59:00)

摘要:以下26条错误是我们经常会犯的,如果你认为这些都是一些小缺点的话,那就错了。因为这些缺点的混合速度是非常快的!你愿意和平常就显示出其中三种缺点的人交往吗?这些缺点会使人对你的智慧和能力产生怀疑,任何想要培养个人魅力的人,都应远离这些缺点。
  
  1、不注意自己说话的语气,经常以不悦而且对立的语气说话。
  
  2、应该保持沉默的时候偏偏爱说话。
  
  3、打断别人的话。
  
  4、滥用人称代词。
  
  5、以傲慢的态度提出问题,给人一种只有他最重要的印象。
  
  6、在谈话中插入一些和自己有亲密关系,但却会使别人感到不好意思的话题。
  
  7、不请自来。
  
  8、自吹自擂。
  
  9、嘲笑社会上的穿着规范。
  
  10、在不适当时刻打电话。
  
  11、在电话中谈一些别人不想听的无聊话。
  
  12、对不熟悉的人写一封内容过分亲密的信。
  
  13、不管自己了不了解,而任意对任何事情发表意见。
  
  14、公然质问他人意见的可靠性。
  
  15、以傲慢的态度拒绝他人的要求。
  
  16、在别人的朋友面前说一些瞧不起他的话。
  
  17、指责和自己意见不同的人。
  
  18、评论别人的无能力。
  
  19、当着他人的面,指正部属和同事的错误。
  
  20、请求别人帮忙被拒绝后心生抱怨。
  
  21、利用友谊请求帮助。
  
  22、措词不当或具有攻击性。
  
  23、当场表示不喜欢。
  
  24、老是想着不幸或痛苦的事情。
  
  25、对政治或宗教发出抱怨。
  
  26、表现过于亲密的行为。
......

阅读全文(1816) | 评论:0