| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1770 人关注过本帖
标题:【每日一问】【从新手到高手】【回答有积分】
只看楼主 加入收藏
编程达人
Rank: 2
等 级:论坛游民
帖 子:62
专家分:66
注 册:2011-8-11
收藏
得分:0 
程序代码:
#include<stdio.h>
#include<math.h>
int m(int a)

 {int i;
  for(i=2;i<sqrt(a);i++)
    {if(a%i==0)
       break;
     if(i>sqrt(a))
       return 1;
    else
      return 0;
    }

 }
main()
{

 int n,i,j;

 printf("please input a nummber:");

 scanf("%d",&n);

 if(n%2==0)
   {for(j=2;j<=n/2;j++)
       if(m(j)&&m(n-j))
          printf("%d=%d+%d\n",n,j,n-j);
   }

 else
   printf("input error!");
第一题
2011-08-23 17:20
编程达人
Rank: 2
等 级:论坛游民
帖 子:62
专家分:66
注 册:2011-8-11
收藏
得分:0 
程序代码:
#include<stdio.h>
main()
{

 int i,j;

 for(i=1;i<=9;i++)
    {  for(j=1;j<=i;j++)
     {
        printf("%d*%d=%d",i,j,i*j);
         }
      printf("\n");
    }
}
第五题,应该够美观了
2011-08-23 17:31
edwardflee
Rank: 4
等 级:业余侠客
帖 子:145
专家分:234
注 册:2011-7-27
收藏
得分:1 
按12楼的提示完成了第一题
程序代码:
/*
时间:2011年8月24日12:07:02
功能:编程,任意输入一个偶数n,请将它分解为两个素数之和。输出形式为:* = * + *
目的:练习使用函数完成判断是否素数的功能
备注:论坛回帖 <span style="color: #008000; text-decoration: underline;"><span style="color: #008000; text-decoration: underline;"><span style="color: #008000; text-decoration: underline;">https://bbs.bccn.net/thread-348017-1-1.html[/color] 第1问
[/color][/color]*/
# include <stdio.h>

bool IsPrime (int val)        //判断一个数是否素数,返回true或false
{
    int i;

    for (i=2; i<val; ++i)
    {
        if (val%i == 0)
            break;
    }
   
    if (i == val)
        return true;
    else
        return false;
}


int main(void)
{
    int j;       
    int m,n;
   
    do
    {
        printf("请输入一个大于2的偶数\n");
        scanf("%d",&j);
    } while (j%2 != 0 || j<2);
   
    for (m=2; m<=j/2; ++m)
    {
        if (IsPrime(m))
        {
            n = j-m;
            if (IsPrime(n))
                printf("%d = %d + %d\n",j,m,n);
        }
    }
   
    return 0;
}

/*
在VC++6.0中的输出结果为:
————————————
请输入一个大于2的偶数
8
8 = 3 + 5
Press any key to continue
————————————
*/



[ 本帖最后由 edwardflee 于 2011-8-24 12:30 编辑 ]

学C的秘诀=每天都来泡论坛
2011-08-24 12:11
edwardflee
Rank: 4
等 级:业余侠客
帖 子:145
专家分:234
注 册:2011-7-27
收藏
得分:0 
第3问
程序代码:
/*
时间:2011年8月24日13:32:01
题目:计算并输出三个电阻的串联值和并联值,分别由函数series()和parallel()实现。
      主函数main()负责接收用户输入的三个电阻的值,并且调用上述两个函数。
目的:论坛回复,练习函数用法
*/

# include <stdio.h>

double series (double r1, double r2, double r3)
{
    double r;
    r = r1 + r2 + r3;
    return r;
}

double parallel (double r1, double r2, double r3)
{
    double r;
    r = 1 / (1/r1 +1/r2 +1/r3);
    return r;
}

int main(void)
{
    double a,b,c;
   
    printf("输入三个电阻值\n");
    scanf("%lf",&a);
    scanf("%lf",&b);
    scanf("%lf",&c);

    printf("三个电阻串联后阻值变为:%lf\n",series(a,b,c));
    printf("三个电阻并联后阻值变为:%lf\n",parallel(a,b,c));

    return 0;
}
/*
在VC++6.0中的输出结果为:
————————————
输入三个电阻值
2
3
4
三个电阻串联后阻值变为:9.000000
三个电阻并联后阻值变为:0.923077
Press any key to continue

————————————
*/


学C的秘诀=每天都来泡论坛
2011-08-24 13:34
edwardflee
Rank: 4
等 级:业余侠客
帖 子:145
专家分:234
注 册:2011-7-27
收藏
得分:0 
第4问
程序代码:
/*
时间:2011年8月24日14:14:19
题目:函数功能:根据以下公式计算s,计算结果作为函数值返回;n通过形参传入。
        1           1                  1
    S=1+ ---- + -------- + ... + ----------------
         1+2     1+2+3            1+2+3+...+n
     例如:若n的值为11时,函数的值为:1.833333
目的:论坛回复,练习函数的用法
*/
# include <stdio.h>

double s(int n)
{
    int i;
    int a=0;
    double b;
    double c=0;

    for(i=1; i<=n; ++i)
    {
        a += i;
        b = 1.0/a;
        c += b;
    }
   
    return c;
}

int main(void)
{
    int n;
   
    printf("输入一个数n\n");
    scanf("%d",&n);
   
    printf("若n的值为%d时,函数的值为:%lf\n",n,s(n));
   
    return 0;
}

/*
在VC++6.0中的输出结果为:
————————————
输入一个数n
11
若n的值为11时,函数的值为:1.833333
Press any key to continue
————————————
*/


学C的秘诀=每天都来泡论坛
2011-08-24 14:18
edwardflee
Rank: 4
等 级:业余侠客
帖 子:145
专家分:234
注 册:2011-7-27
收藏
得分:0 
第5问
程序代码:
/*
时间:2011年8月24日14:35:35
题目:实现输出一个九九乘法表。(注意美观度)
目的:论坛回复
*/

# include <stdio.h>

int main(void)
{
    int i,j,k;
   
    for (i=1; i<=9; ++i)
    {
        for (j=1; j<=i; ++j)
        {
            k = i*j;
            if (1 == j)
                printf("%dx%d=%-3d",j,i,k);
            else
                printf("%dx%d=%-4d",j,i,k);
        }
       
        printf("\n");
    }
    return 0;
}

/*
在VC++6.0中的输出结果为:
————————————
1x1=1
1x2=2  2x2=4
1x3=3  2x3=6   3x3=9
1x4=4  2x4=8   3x4=12  4x4=16
1x5=5  2x5=10  3x5=15  4x5=20  5x5=25
1x6=6  2x6=12  3x6=18  4x6=24  5x6=30  6x6=36
1x7=7  2x7=14  3x7=21  4x7=28  5x7=35  6x7=42  7x7=49
1x8=8  2x8=16  3x8=24  4x8=32  5x8=40  6x8=48  7x8=56  8x8=64
1x9=9  2x9=18  3x9=27  4x9=36  5x9=45  6x9=54  7x9=63  8x9=72  9x9=81
Press any key to continue
————————————
*/



[ 本帖最后由 edwardflee 于 2011-8-24 14:42 编辑 ]

学C的秘诀=每天都来泡论坛
2011-08-24 14:39
edwardflee
Rank: 4
等 级:业余侠客
帖 子:145
专家分:234
注 册:2011-7-27
收藏
得分:0 
第6问
程序代码:
/*
时间:2011年8月24日15:18:54
题目:编程输出200以内所有完全平方数C及其个数。
*/

# include <stdio.h>

int main(void)
{
    int i=1;
    int c;
   
    printf("200以内的完全平方数有:\n");
   
    while (1)
    {
        c = i*i;
       
        if (c > 200)
            break;
       
        ++i;
        printf("%d\n",c);
    }
       
        printf("完全平方数的个数为 %d\n",i-1);
   
    return 0;
}

/*
在VC++6.0中的输出结果为:
————————————
200以内的完全平方数有:
1
4
9
16
25
36
49
64
81
100
121
144
169
196
完全平方数的个数为 14
Press any key to continue
————————————
*/


学C的秘诀=每天都来泡论坛
2011-08-24 15:21
edwardflee
Rank: 4
等 级:业余侠客
帖 子:145
专家分:234
注 册:2011-7-27
收藏
得分:0 
第7问
程序代码:
/*
时间:2011年8月24日15:55:31
题目:设N是一个四位数,它的9倍恰好是其反序数(例如:1234的反序数是4321),编程,输出所有满足条件的N。
*/
# include <stdio.h>

int sort (int n)
{
    int i;
    int j;
    int k=0;
   
    for(i=0; i<4; ++i)
    {
        j = n%10;
        n /= 10;
        k = k*10 + j;
    }
   
    return k;
}


int main(void)
{
    int n;
   
    for (n=1000; n<=9999; ++n)
    {
        if (n*9 == sort(n))
            printf("%d * 9 = %d\n", n,sort(n));
    }
    return 0;
}

/*在VC++6.0中的输出结果为:
————————————
1089 * 9 = 9801
Press any key to continue
————————————
*/


学C的秘诀=每天都来泡论坛
2011-08-24 15:56
edwardflee
Rank: 4
等 级:业余侠客
帖 子:145
专家分:234
注 册:2011-7-27
收藏
得分:0 
第8问
程序代码:
/*
时间:2011年8月24日16:14:56
题目:用一元人民币兑换成1分、2分和5分硬币,编程,输出所有不同的兑换方法及兑换方法个数。
*/
# include <stdio.h>

int main(void)
{
    int c1;
    int c2;
    int c5;
    int n=0;
   
    for (c5=0; c5<=20; ++c5)
    {
        for (c2=0; c2<=50; ++c2)
        {
            for (c1=0; c1<=100; ++c1)
                if (100 == 5*c5 + 2*c2 + c1)
                {
                    ++n;
                    printf("1元可分为 %d个5分 + %d个2分 + %d个1分\n", c5,c2,c1);
                }
               
        }       
    }
   
    printf("兑换的方法有 %d 种\n", n);

    return 0;
}/*
在VC++6.0中的输出结果为:
————————————
1元可分为 0个5分 + 0个2分 + 100个1分
1元可分为 0个5分 + 1个2分 + 98个1分
1元可分为 0个5分 + 2个2分 + 96个1分
1元可分为 0个5分 + 3个2分 + 94个1分

...(省略)

1元可分为 19个5分 + 1个2分 + 3个1分
1元可分为 19个5分 + 2个2分 + 1个1分
1元可分为 20个5分 + 0个2分 + 0个1分
兑换的方法有 541 种
Press any key to continue
————————————
*/



[ 本帖最后由 edwardflee 于 2011-8-24 16:24 编辑 ]

学C的秘诀=每天都来泡论坛
2011-08-24 16:16
pearlangel
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2011-8-9
收藏
得分:1 
回复 楼主 zjy2wyl
这个很像我刚看的题耶,把标准答案发给你呗
2011-08-24 16:24
快速回复:【每日一问】【从新手到高手】【回答有积分】
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020037 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved