| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4245 人关注过本帖
标题:发几条C编程题目看看
只看楼主 加入收藏
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
程序代码:
/*******************************************************************************

        求Sn = a + aa + aaa + … + aa…a 的值(最后一个数中 a 的个数为 n ),
    其中 a 是一个1~9的数字,例如:2 + 22 + 222 + 2222 + 22222 (此时 a=2 n=5 )


        关于输入 
        一行,包括两个整数,第一个为a,第2个为n(1 ≤ a, n ≤ 9),以空格分隔。 



        关于输出 
        一行,Sn的值。

        例子输入 
        2  5


        例子输出 
        24690

*******************************************************************************/
#include<stdio.h>
#define N 9
int main(void)
{
    int i,j,m,n;
    int b[N]={0};
    printf("input m n:\n");
    do
    {
        scanf("%d %d",&m,&n);
    }while(m<0||m>9||n<1||m>9);/* 控制输入数据的范围 */
    for(i=n-1;i>=0;i--)
        for(j=0;j<=i;j++)
            b[i]+=m;   /* 为数组赋值,也就是完成若干个m相加的任务 */
    for(i=n-1;i>=0;i--)
    {
        b[i-1]+=b[i]/10; /* 进位 */
        b[i]=b[i]%10;    /* 取余 */
    }

    for(i=0;i<n;i++)
        printf("%d",b[i]);    /* 输出 */
    getch();
}
2008-09-01 01:02
hoodlum1980
Rank: 2
来 自:浙江大学
等 级:论坛游民
威 望:2
帖 子:289
专家分:23
注 册:2008-2-24
收藏
得分:0 
回复 17# 广陵绝唱 的帖子
这个题没必要在写一个check。其实只需要a,b,c按升序穷举就可以了:

for(a=1;a<=100;a++)
   for(b=a;b<=100;b++)
       for(c=b;c<=100;c++)
          ....
2008-09-01 17:59
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
回复 32# hoodlum1980 的帖子
~~~~~~~~~~~~~~~~
    请这位朋友看清题意:如果两个乘数是颠倒的,就不要再打印了。如果按照您的方法来穷举,如:60*60+80*80=100*100和80*80+60*60=100*100,就都会打印出来,和题意不相符。

    如果这题是100分,那么你的程序的结果,只能得到50分。

    呵呵。
2008-09-01 19:24
hoodlum1980
Rank: 2
来 自:浙江大学
等 级:论坛游民
威 望:2
帖 子:289
专家分:23
注 册:2008-2-24
收藏
得分:0 
回复 33# 广陵绝唱 的帖子
看来您看不懂我说的abc“升序”是什么意思,多说无益。

[[it] 本帖最后由 hoodlum1980 于 2008-9-1 19:28 编辑 [/it]]
2008-09-01 19:26
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
回复 34# hoodlum1980 的帖子
~~~~~~~~~~~
    谢谢。

    您32楼的程序没仔细看,现在升序写了一下,确实不错,我对您误会了。

    希望下次能再得到您的指教,谢谢。
2008-09-01 20:19
hoodlum1980
Rank: 2
来 自:浙江大学
等 级:论坛游民
威 望:2
帖 子:289
专家分:23
注 册:2008-2-24
收藏
得分:0 
[bo][un]广陵绝唱[/un] 在 2008-9-1 20:19 的发言:[/bo]

~~~~~~~~~~~
    谢谢。

    您32楼的程序没仔细看,现在升序写了一下,确实不错,我对您误会了。

    希望下次能再得到您的指教,谢谢。


没有关系的。
2008-09-01 20:21
fangfangff
Rank: 1
等 级:新手上路
威 望:2
帖 子:479
专家分:0
注 册:2006-12-22
收藏
得分:0 
题目不错
虽然不是很难
但是很久没有练习了
现在来连连手·········

千里冰封---My Love 尽管相隔千里 , 依然拥有冰封
2008-09-01 21:35
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
程序代码:
/*******************************************************************************

        N只小白鼠(1 < N < 100),每只鼠头上戴着一顶有颜色的帽子。现在称出每只白鼠
    的重量,要求按照白鼠重量从大到小的顺序输出它们头上帽子的颜色。帽子的颜色用“
    red”,“blue”等字符串来表示。不同的小白鼠可以戴相同颜色的帽子。白鼠的重量
    用整数表示。


        关于输入 
        输入第一行为一个整数N,表示小白鼠的数目。 
        下面有N行,每行是一只白鼠的信息。第一个为不大于100的正整数,表示白鼠的重
    量;第二个为字符串,表示白鼠的帽子颜色,字符串长度不超过10个字符。

        注意:白鼠的重量各不相同。 


        关于输出 
        N行,按照白鼠的重量从大到小的顺序输出白鼠的帽子颜色,每行一个颜色。 


        例子输入 
        3
        30 red
        50 blue
        40 green


        例子输出 
        blue
        green
        red

*******************************************************************************/
#include<stdio.h>
#define N 100
struct ST
{
    int weight;
    char color[10];
}mouse[N],sw;
int main(void)
{
    int i,j,n,ch;
    do
    {
        system("cls");
        printf("input n:\n");
        scanf("%d",&n);
    }while(n>N);    /* 限制n值小于100 */
    for(i=0;i<n;i++)  /* 输入数据 */
    {
        printf("\nplease input NO.%d weight and color :\n",i+1);
        scanf("%d %s",&mouse[i].weight,&mouse[i].color);
    }
    for(i=0;i<n;i++)   /* 选择排序 */
    {
        ch=i;
        for(j=i+1;j<n;j++)
            if(mouse[i].weight>mouse[j].weight)
                ch=j;
        if(ch!=i)
        {
            sw=mouse[i];
            mouse[i]=mouse[ch];
            mouse[ch]=sw;
        }
    }
    for(i=0;i<n;i++)   /* 输出 */
        printf("%2d %s\n",mouse[i].weight,mouse[i].color);
    getch();
}
2008-09-02 00:39
快速回复:发几条C编程题目看看
数据加载中...
 
   



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

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