Given only putchar (no sprintf, itoa, etc.) write a routine
putlong that prints out an unsigned long in decimal.
Answers were Sorted based on User's Feedback
Answer / raghuram.a
#include <stdio.h>
#include<conio.h>
void putlong(unsigned long x)
{
if (x>=10)
{
putlong(x/10);
}
putchar(x%10+48);
}
main()
{
unsigned long a;
clrscr();
printf("enter long integer:");
scanf("%ld",&a);
putlong(a);
getch();
return 0;
}
Is This Answer Correct ? | 12 Yes | 0 No |
Answer / prateek caire
void print(unsigned n)
{
static c = 0;
if( n < 10)
{
putchar(n + 48);
return;
}
int m = n%10;
print(n/10);
if(++c%3 == 0) putchar(',');
putchar(48 + m);
}
Is This Answer Correct ? | 7 Yes | 2 No |
Answer / suraj gupta
#include<stdio.h>
#include<string.h>
void printInt(unsigned long x){
int div=1;
if (x > 10){
div=x/10;
printInt(div);
}
//putchar(x % 10+'0');Both will work fine
putchar(x % 10+48);
}
int main(){
long int a;
printf(" Enter integer value : ");
scanf("%d",&a);
printf("\n");
printInt(a);
return 0;
}
Is This Answer Correct ? | 1 Yes | 1 No |
Answer / sanjay
#include<stdio.h>
#include<conio.h>
int main()
{
unsigned long abc=234455787; int div1;
div1=print_int(abc);
getch();
}
int print_int(long val)
{ int div=1; char c;
if (val>=10)
{
div=print_int(val/10);
}
putchar(val%10+48);
return (1);
}
Is This Answer Correct ? | 0 Yes | 0 No |
Answer / meibella
void putLong(unsigned int x, unsigned int *a, int *j)
{
unsigned int temp = x/10;
unsigned int remainder = x%10;
a[(*j)++] = remainder;
if (temp < 1)
return ;
else
putLong(temp,a,j);
}
int main()
{
unsigned int * a = new unsigned int[12] ;
int j =0;
putLong(1735648,a,&j);
for (int i = j-1; i>=0; i--)
{
putchar(a[i]+48);
}
return 0;
}
Is This Answer Correct ? | 0 Yes | 2 No |
Answer / rakesh
void main()
{
unsigned long n;
int i;
void putlong(unsigned long);
cout<<"\nEnter the number::";
cin>>n;
putlong(n);
}
void putlong(unsigned long n)
{
if(n==0)
return;
print(n/10);
putchar((n%10) + 48);
}
Is This Answer Correct ? | 2 Yes | 10 No |
Print an integer using only putchar. Try doing it without using extra storage.
#include <stdio.h> int main(void) { int a=4, b=2; a=b<<a+b>>2 ; printf("%d",a); return 0; }
Write a Program that Inputs 10 Numbers in an Array and Show the Maximum Number
find A^B using Recursive function
how can i cast a char type array to an int type array
Write a c program to search an element in an array using recursion
main() { int i = 3; for (;i++=0;) printf(ā%dā,i); }
main() { unsigned int i=10; while(i-->=0) printf("%u ",i); }
int a = 10 + 10 .... ,... A = A * A What would be the value of A? The answer is 120!! Could anyone explain this to me.
2 Answers Bosch, eInfochips, HCL, IHCL,
main() { int i = 257; int *iPtr = &i; printf("%d %d", *((char*)iPtr), *((char*)iPtr+1) ); }
main() { char i=0; for(;i>=0;i++) ; printf("%d\n",i); }
main() { char *p="hai friends",*p1; p1=p; while(*p!='\0') ++*p++; printf("%s %s",p,p1); }