Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

plz send me the solution of the problem.

22 views
Skip to first unread message

wahid

unread,
Jan 9, 2010, 12:29:23 PM1/9/10
to
Write a program that will have an integer
number input, and show the digits seperately.
(Assume that no number with more than 3
digits will be present in the input)

like :
• Enter a Number: 942
• The first digit of the number is : 9
• The second digit of the number is : 4
• The third digit of the number is : 2

Doug Miller

unread,
Jan 9, 2010, 12:39:48 PM1/9/10
to
In article <4c151156-5e2c-4512...@r24g2000yqd.googlegroups.com>, wahid <wahid...@gmail.com> wrote:
>Write a program that will have an integer
>number input, and show the digits seperately.
>(Assume that no number with more than 3
>digits will be present in the input)
>
>like :
>=95 Enter a Number: 942
>=95 The first digit of the number is : 9
>=95 The second digit of the number is : 4
>=95 The third digit of the number is : 2

Please post your professor's email address so we can send the program directly
to him.

Or do your own fucking homework.

Chad

unread,
Jan 9, 2010, 1:06:14 PM1/9/10
to
On Jan 9, 9:39 am, spamb...@milmac.com (Doug Miller) wrote:

> In article <4c151156-5e2c-4512-8b63-96fc57777...@r24g2000yqd.googlegroups.com>, wahid <wahid.1...@gmail.com> wrote:
>
> >Write a program that will have an integer
> >number input, and show the digits seperately.
> >(Assume that no number with more than 3
> >digits will be present in the input)
>
> >like :
> >=95 Enter a Number: 942
> >=95 The first digit of the number is : 9
> >=95 The second digit of the number is : 4
> >=95 The third digit of the number is : 2
>
> Please post your professor's email address so we can send the program directly
> to him.
>
> Or do your own fucking homework.

Okay, it took me an entire 45 seconds to come up with a solution. What
do I win?

osmium

unread,
Jan 9, 2010, 1:23:34 PM1/9/10
to
wahid wrote:

In elemntary school you learned how to divide integers and then later on you
discovered the wonders of "long division"; with integers, C follows the
rules from the earlier years. Use that hint to write your program.


Eric Sosman

unread,
Jan 9, 2010, 2:08:33 PM1/9/10
to
On 1/9/2010 12:29 PM, wahid wrote:
> Write a program that will have an integer
> number input, and show the digits seperately.
> (Assume that no number with more than 3
> digits will be present in the input)
>
> like :
> � Enter a Number: 942
> � The first digit of the number is : 9
> � The second digit of the number is : 4
> � The third digit of the number is : 2

#include <stdio.h>
#include <stdlib.h>
int main(void) {
const char *fmt = "The first digit of the number is : %d\n"
"The second digit of the number is : %d\n"
"The third digit of the number is : %d\n";
int number;
if (scanf("%d", &number) != 1)
return EXIT_FAILURE;
switch (number) {
case 0: printf(fmt, 0, 0, 0); break;
case 1: printf(fmt, 0, 0, 1); break;
/* ... left as an exercise for the student ... */
case 999: printf(fmt, 9, 9, 9); break;
default: return EXIT_FAILURE;
}
return EXIT_SUCCESS;
}

Note: A C90 compiler might reject this program on the grounds
that it has too many case labels. The C99 Standard raised the
limit, and will not reject it for that reason. Try to find a C99-
conforming compiler, just for safety's sake.

--
Eric Sosman
eso...@ieee-dot-org.invalid

Antoninus Twink

unread,
Jan 9, 2010, 2:33:03 PM1/9/10
to
On 9 Jan 2010 at 17:29, wahid wrote:
> like :
> • Enter a Number: 942
> • The first digit of the number is : 9
> • The second digit of the number is : 4
> • The third digit of the number is : 2

#include <stdio.h>

#define S1 "The "
#define S2 " digit of the number is : %d\n"

int main(void)
{
int d, rv = 0;
fputs("Enter a Number: ", stdout);
fflush(stdout);
if(scanf("%d", &d) == 1 && d >=0 && d <= 999)
printf(S1 "first" S2 S1 "second" S2 S1 "third" S2, d/100, d%100/10, d%10);
else {
fputs("Invalid input: needed a non-negative integer with <= 3 digits\n",
stderr);
rv = 1;
}
return rv;
}

Seebs

unread,
Jan 9, 2010, 3:34:51 PM1/9/10
to
On 2010-01-09, wahid <wahid...@gmail.com> wrote:
> Write a program that will have an integer
> number input, and show the digits seperately.
> (Assume that no number with more than 3
> digits will be present in the input)

> like :
> ? Enter a Number: 942
> ? The first digit of the number is : 9
> ? The second digit of the number is : 4
> ? The third digit of the number is : 2

I'm surprised you're getting this as homework. It's surprisingly
difficult for homework to assign to someone who apparently has never
made any effor towards learning C. Anyway, here's something
you might try:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <limits.h>
#include <stddef.h>
#include <math.h>

struct {
double lo, close;
int d;
} digits[] = {
{ 6.80183905339058814121, 6.80239476332431092231, '\x39' },
{ 6.68398653227400885157, 6.68461172766792710576, '\x38' },
{ 6.55036579410553621017, 6.55108033504340436792, '\x37' },
{ 6.39609597446756872330, 6.39692965521614631541, '\x36' },
{ 6.21360759808860851905, 6.21460809842219141785, '\x35' },
{ 5.99021376520632919949, 5.99146454710798170851, '\x34' },
{ 5.70211441755550385579, 5.70378247465620091816, '\x33' },
{ 5.29581423632991832307, 5.29831736654803631126, '\x32' },
{ 4.60015764416454686625, 4.60517018598809180219, '\x31' },
{ 9, 9, '\x30' },
{ 4.49423862528080952927, 4.49980967033026502122, '\x39' },
{ 4.37575702166028612794, 4.38202663467388120466, '\x38' },
{ 4.24132675257074609476, 4.24849524204935935501, '\x37' },
{ 4.08597631255158422192, 4.09434456222210041432, '\x36' },
{ 3.90197266957464483639, 3.91202300542814596085, '\x35' },
{ 3.67630067190707610081, 3.68887945411393625150, '\x34' },
{ 3.38439026334577430788, 3.40119738166215546116, '\x33' },
{ 2.97041446556970090143, 2.99573227355399085425, '\x32' },
{ 2.25129179860649530909, 2.30258509299404590109, '\x31' },
{ 9, 9, '\x30' },
{ 2.14006616349627076801, 2.19722457733621956422, '\x39' },
{ 2.01490302054226466666, 2.07944154167983574766, '\x38' },
{ 1.87180217690159134136, 1.94591014905531323187, '\x37' },
{ 1.70474809223842527217, 1.79175946922805495731, '\x36' },
{ 1.50407739677627416697, 1.60943791243410028180, '\x35' },
{ 1.25276296849536805667, 1.38629436111989057245, '\x34' },
{ 0.91629073187415510660, 1.09861228866810978211, '\x33' },
{ 0.40546510810816438486, 0.69314718055994528623, '\x32' },
{ -0.69314718055994528623, 0.00000000000000000000, '\x31' },
{ 9, 9, '\x30' },
{ NAN, NAN, '\x00' }
};

char *names[] = { "first", "second", "third", "oops", "shit", 0 };

int
main(void) {
int n;
double d;
int i;
int hit = 0;
int di = 0;
printf("Enter a Number: ");
fflush(stdout);
if (scanf("%d", &n) != 1) {
fprintf(stderr, "Shyeah right.\n");
exit(EXIT_FAILURE);
}
d = sqrt(n);
if (d != d) {
fprintf(stderr, "Fuck you too buddy.\n");
exit(EXIT_FAILURE);
}
if ((d = log(n)) > 6.9068) {
fprintf(stderr, "Yeah, well, your mama.\n");
exit(EXIT_FAILURE);
}

for (i = (d >= 0 ? 0 : (hit = 1, 20)); digits[i].lo == digits[i].lo; ++i) {
if (d > digits[i].lo) {
printf("The %s digit of the number is %c.\n",
names[di++], digits[i].d);
d = log(exp(d) - exp(digits[i].close));
hit = 2;
}
if (digits[i].lo == 9) {
if (hit == 1) {
printf("The %s digit of the number is %c.\n",
names[di++], digits[i].d);
}
if (hit) {
hit = 1;
}
}
}
return 0;
}

... cut here...

Hope this helps!

-s
--
Copyright 2010, all wrongs reversed. Peter Seebach / usenet...@seebs.net
http://www.seebs.net/log/ <-- lawsuits, religion, and funny pictures
http://en.wikipedia.org/wiki/Fair_Game_(Scientology) <-- get educated!

sfuerst

unread,
Jan 9, 2010, 4:49:52 PM1/9/10
to

Division? Who needs that?

#include <stdio.h>

int main(void)
{
unsigned n, x, y, m = 429496729;
char t[] = {48, 49, 50, 50, 51, 51, 52, 53, 53, 54, 55, 55, 56, 56,
57, 48, 23, 59, 41};
char *p = 16 + t;

printf("Enter a number less than 1000\n");
scanf("%u", &n);

x = (n >> 1) + (n >> 2);
y = (n >> 1) + (n >> 3) + (n >> 6) - (n >> 10) + (x >> 11) - (n >>
16);
x += x >> 4;
x += x >> 8;
y += y >> 20;
x += x >> 16;
y >>= 6;
*p++ = ((m * n) >> 28)[t];
x >>= 3;
*p++ = ((m * ((n > 9 + x * 10) + x)) >> 28)[t];
*p = ((m * ((n > 99 + y * 100) + y)) >> 28)[t];

printf("The first digit of the number is %c\n", *p--);
printf("The second digit of the number is %c\n", *p--);
printf("The third digit of the number is %c\n", *p);

return 0;
}

pete

unread,
Jan 9, 2010, 9:53:44 PM1/9/10
to
wahid wrote:
> Write a program that will have an integer
> number input, and show the digits seperately.
> (Assume that no number with more than 3
> digits will be present in the input)
>
> like :
> � Enter a Number: 942
> � The first digit of the number is : 9
> � The second digit of the number is : 4
> � The third digit of the number is : 2


/* BEGIN new.c */

#include <stdio.h>

#define MAX 999
#define str(x) # x
#define xstr(x) str(x)

int main(void)
{
int d;
char array[sizeof xstr(MAX)];
char *string[] = {"first","second","third"};

fputs("Enter an integer from 0 to " xstr(MAX) ": ", stdout);
fflush(stdout);
if (fscanf(stdin, "%d", &d) == 1 && d >= 0 && MAX >= d) {
sprintf(array, "%d", d);
for (d = 0; array[d] != '\0'; ++d) {
printf("The %-6s digit of the number is : %c\n",
string[d], array[d]);
}
} else {
puts("Try again.");
}
return 0;
}

/* END new.c */


--
pete

wahid

unread,
Jan 10, 2010, 2:01:55 AM1/10/10
to
thank you .


Chad

unread,
Jan 10, 2010, 2:29:52 PM1/10/10
to
On Jan 9, 6:53 pm, pete <pfil...@mindspring.com> wrote:
> wahid wrote:
> > Write a program that will have an integer
> > number input, and show the digits seperately.
> > (Assume that no number with more than 3
> > digits will be present in the input)
>
> > like :
> > Enter a Number: 942

> > The first digit of the number is : 9
> > The second digit of the number is : 4
> > The third digit of the number is : 2
>
> /* BEGIN new.c */
>
> #include <stdio.h>
>
> #define MAX             999
> #define str(x)          # x
> #define xstr(x)         str(x)
>
> int main(void)
> {
>      int d;
>      char array[sizeof xstr(MAX)];
>      char *string[] = {"first","second","third"};
>
>      fputs("Enter an integer from 0 to " xstr(MAX) ": ", stdout);
>      fflush(stdout);
>      if (fscanf(stdin, "%d", &d) == 1 && d >= 0 && MAX >= d) {
>          sprintf(array, "%d", d);
>          for (d = 0; array[d] != '\0'; ++d) {
>              printf("The %-6s digit of the number is : %c\n",
>                  string[d], array[d]);
>          }
>      } else {
>          puts("Try again.");
>      }
>      return 0;
>
> }
>
> /* END new.c */
>
> --
> pete

Not to sound like a dick. But whatever happened to waiting for the
person to post an attempted solution before posting a (correct) one?

Keith Thompson

unread,
Jan 10, 2010, 3:11:22 PM1/10/10
to
Chad <cda...@gmail.com> writes:
> On Jan 9, 6:53 pm, pete <pfil...@mindspring.com> wrote:
>> wahid wrote:
>> > Write a program that will have an integer
>> > number input, and show the digits seperately.
>> > (Assume that no number with more than 3
>> > digits will be present in the input)
>>
>> > like :
>> > Enter a Number: 942
>> > The first digit of the number is : 9
>> > The second digit of the number is : 4
>> > The third digit of the number is : 2
>>
>> /* BEGIN new.c */
[code snipped]

>>
>> --
>> pete
>
> Not to sound like a dick. But whatever happened to waiting for the
> person to post an attempted solution before posting a (correct) one?

You're assuming pete's solution is correct. Maybe it is, maybe it
isn't, but I doubt that wahid knows enough to be able to tell -- and I
for one am not going to tell him which of the posted solutions, if
any, are actually correct.

--
Keith Thompson (The_Other_Keith) ks...@mib.org <http://www.ghoti.net/~kst>
Nokia
"We must do something. This is something. Therefore, we must do this."
-- Antony Jay and Jonathan Lynn, "Yes Minister"

Antoninus Twink

unread,
Jan 10, 2010, 3:35:47 PM1/10/10
to
On 10 Jan 2010 at 20:11, Keith Thompson wrote:
> You're assuming pete's solution is correct.

I don't think he's assuming anything of the sort. What makes you think
he hasn't checked through pete's solution and *found* it to be correct?

> Maybe it is, maybe it isn't,

Let me help you out, Keith: it is.

> I doubt that wahid knows enough to be able to tell -- and I for one am
> not going to tell him which of the posted solutions, if any, are
> actually correct.

You've missed the boat here Keith - correct solutions to all the posted
problems have already been supplied, and you can bet your life that if
any of them are incorrect, then there will be a whole horde of people
falling over themselves to trip me up and pick holes in my code if
they're there - that's the "peer review" that you love so much in
action!

Joe Wright

unread,
Jan 10, 2010, 3:55:29 PM1/10/10
to
Keith Thompson wrote:
> Chad <cda...@gmail.com> writes:
>> On Jan 9, 6:53Â pm, pete <pfil...@mindspring.com> wrote:
>>> wahid wrote:
>>>> Write a program that will have an integer
>>>> number input, and show the digits seperately.
>>>> (Assume that no number with more than 3
>>>> digits will be present in the input)
>>>> like :
>>>> Enter a Number: 942
>>>> The first digit of the number is : 9
>>>> The second digit of the number is : 4
>>>> The third digit of the number is : 2
>>> /* BEGIN new.c */
> [code snipped]
>>> --
>>> pete
>> Not to sound like a dick. But whatever happened to waiting for the
>> person to post an attempted solution before posting a (correct) one?
>
> You're assuming pete's solution is correct. Maybe it is, maybe it
> isn't, but I doubt that wahid knows enough to be able to tell -- and I
> for one am not going to tell him which of the posted solutions, if
> any, are actually correct.
>
I'll suggest that, posted solutions notwithstanding, wahid might gain much
from our discussions vis a vis homework. Or not.

--
Joe Wright
"If you rob Peter to pay Paul you can depend on the support of Paul."

pete

unread,
Jan 10, 2010, 7:36:23 PM1/10/10
to

That's pretty much it.

When I post untested code
I always get caught
And that's what I'm looking for.

My criteria for doing a homework problem
is that it be somewhat amusing and not too hard.

From time to time an OP has asked questions about my posted code,
and then I've explained it to the best of my ability
and I suppose the OP was able to pick up something about C.

I don't care if OP wants to copy homework solutions
and learn nothing.

--
pete

Keith Thompson

unread,
Jan 10, 2010, 8:37:55 PM1/10/10
to
pete <pfi...@mindspring.com> writes:
[snip]

> I don't care if OP wants to copy homework solutions
> and learn nothing.

I suggest that you should care. Surely if you want to find little
programming puzzles for yourself, you can do so without helping
someone cheat.

Chad

unread,
Jan 10, 2010, 9:42:14 PM1/10/10
to

That was untested code?! Uh..... here is what I get...

[cdalten@localhost oakland]$ gcc -Wextra -Wall new.c -o new
[cdalten@localhost oakland]$ ./new
Enter an integer from 0 to 999: 321
The first digit of the number is : 3
The second digit of the number is : 2
The third digit of the number is : 1
[cdalten@localhost oakland]$ ./new
Enter an integer from 0 to 999: 8888888
Try again.
[cdalten@localhost oakland]$ ./new
Enter an integer from 0 to 999: 45
The first digit of the number is : 4
The second digit of the number is : 5
[cdalten@localhost oakland]$ ./new
Enter an integer from 0 to 999: 2
The first digit of the number is : 2
[cdalten@localhost oakland]$

I guess that both you and I have vastly different views on what
"untested code" is.

scattered

unread,
Jan 10, 2010, 10:01:01 PM1/10/10
to
On Jan 10, 8:37 pm, Keith Thompson <ks...@mib.org> wrote:

> pete <pfil...@mindspring.com> writes:
>
> [snip]
>
> > I don't care if OP wants to copy homework solutions
> > and learn nothing.
>
> I suggest that you should care.  Surely if you want to find little
> programming puzzles for yourself, you can do so without helping
> someone cheat.
>

I agree in general but in this case I suspect that if a professor saw

#define str(x) # x
#define xstr(x) str(x)

in an intro to programming class then that professor would strongly
suspect that the student has obtained that code from somewhere else
(unless the textbook covered stringizing macros - which seems beyond
the scope of an intro text), especially if the student is as weak a
wahid seems to be. Such a professor could quickly confirm that
suspicion by asking wahid a simple question or two. What I would
really have a problem with would be posting code that wahid could
plausibly turn in as his own.

Richard Bos

unread,
Jan 11, 2010, 1:15:01 PM1/11/10
to
pete <pfi...@mindspring.com> wrote:

> I don't care if OP wants to copy homework solutions and learn nothing.

Let me suggest for your consideration that you should, if only because
he might either get a Green Card and be employed to be your cow-orker,
or get employed where he is to write some software which you will come
(possibly by necessity) to rely on.

Richard

Eric Sosman

unread,
Jan 11, 2010, 2:18:26 PM1/11/10
to

Still worse, you may be assigned to clean up the mess
he makes ...

--
Eric Sosman
eso...@ieee-dot-org.invalid

pete

unread,
Jan 11, 2010, 5:56:09 PM1/11/10
to

No.

The point I was attempting to make
is that I usually expect that a few posters such as yourself,
will take a good look at the code that I post.

My experience has been that whenever I post untested code,
and this is not one of those times, I always get caught.

--
pete

Charlton Wilbur

unread,
Jan 11, 2010, 7:42:25 PM1/11/10
to
>>>>> "C" == Chad <cda...@gmail.com> writes:

C> Not to sound like a dick. But whatever happened to waiting for
C> the person to post an attempted solution before posting a
C> (correct) one?

Posting a possibly correct solution -- I only skimmed it -- that is more
rigorous and thorough than the homework plagiarist likely has the
experience to be, and is written in idiomatic C that is likely to be
well above the homework plagiarist's level of ability seems like another
good solution to the problem.

Charlton

--
Charlton Wilbur
cwi...@chromatico.net

Keith Thompson

unread,
Jan 11, 2010, 8:27:15 PM1/11/10
to

Assuming that the instructor is sufficiently competent to recognize
that the submitted code is beyond the student's abilities. If he
gets enough help cheating, he might be able to fool the instructor
just because the instructor will never have seen any code the
student actually wrote.

Charlton Wilbur

unread,
Jan 13, 2010, 2:21:44 PM1/13/10
to
>>>>> "KT" == Keith Thompson <ks...@mib.org> writes:

KT> Charlton Wilbur <cwi...@chromatico.net> writes:

>> Posting a possibly correct solution -- I only skimmed it -- that
>> is more rigorous and thorough than the homework plagiarist likely
>> has the experience to be, and is written in idiomatic C that is
>> likely to be well above the homework plagiarist's level of
>> ability seems like another good solution to the problem.

KT> Assuming that the instructor is sufficiently competent to
KT> recognize that the submitted code is beyond the student's
KT> abilities. If he gets enough help cheating, he might be able to
KT> fool the instructor just because the instructor will never have
KT> seen any code the student actually wrote.

Well, if the instructor is that incompetent, the student is not going to
learn much either way.

Flash Gordon

unread,
Jan 14, 2010, 6:58:36 PM1/14/10
to

Which leads to the student getting a pass and possibly an interview for
a job wasting the time of the interviewer. They may even get a job they
are not able to actually do costing even more money. All in all I would
prefer that students who cannot be bothered to attempt their homework
not be handed solutions.
--
Flash Gordon

0 new messages