چاپ اعداد در مبناي 16 در زبان سي
با سلام
من ميخوام تو زبان سي اعداد بر مبناي 16 رو تو صفحه نمايش چاپ كنم و اين برنامه رو نوشتم اما اين برنامه همش عدد 10 چاپ ميكنه
لطفاً كمكم كنيد
كد:
کد:
#include<stdio.h>
#include<conio.h>
main()
{
int a;
a=0x01;
f:
a++;
printf("%d\n",0xa);
getche();
goto f;
}
من يه مشكل ديگه هم برام پيش اومده ممنون ميشم كمك كنيد
دارم يه برنامه مينويسم كه دو عدد ميگيره يكي به عنوان مقسوم و ديگري به عنوان مقسوم عليه
و اين برنامه بايد با اضافه كردن تدريجي مقسوم عليه دو عددي را كه از همه نزديك تر به هم هستند و ضربشان برابر مقسوم ميشود را پيدا ميكند
اما برنامه خوب كار نميكنه و دو عددي كه پيشنهاد ميده خيلي از هم فاصله دارند اگه ميشه اونو درستش كنيد
در ضمن اگه به شه راهنماييم كنيد تا حجم خطوطاش كمتر به شه
البته يك مشكلش هم همون چاپ شدن دستور printf آخره كه نتونستم درستش كنم چون نمي دونم چرا از else سوم به بعد كه در يك if استفاده ميكردم پيام ميداد جاي else درست نيست
در اين مورد هم كمك كنيد
با سپاس فروان از شما دوستان خوب
کد:
کد:
#include<stdio.h>
#include<conio.h>
void main(void)
{
long int a,b,c;
f:
clrscr();
printf("\n tedad pixel ro vared con:");
scanf("%ld",&a);
printf("\n magsom alayh ro vared con:");
scanf("%ld",&b);
c=b;
if(b*c==a)
{
printf("%ld\n",b);
printf("%ld\n",c);
}
else
{
if(a>1000000000)
{
c=10000;
while(b*c!=a&c<2*b)
{
c++;
b=a/c;
if(a%b==0)
{
printf("%ld\n",b);
printf("%ld\n",c);
}
}
}
}
if(1000000000>a&a>100000000)
{
c=1000;
while(b*c!=a&c<2*b)
{
c++;
b=a/c;
if(a%b==0)
{
printf("%ld\n",b);
printf("%ld\n",c);
}
}
}
if(100000000>a&a>10000000)
{
c=1000;
while(b*c!=a&c<2*b)
{
c++;
b=a/c;
if(a%b==0)
{
printf("%ld\n",b);
printf("%ld\n",c);
}
}
}
if(10000000>a&a>1000000)
{
c=100;
while(b*c!=a&c<2*b)
{
c++;
b=a/c;
if(a%b==0)
{
printf("%ld\n",b);
printf("%ld\n",c);
}
}
}
if(1000000>a&a>100000)
{
c=100;
while(b*c!=a&c<2*b)
{
c++;
b=a/c;
if(a%b==0)
{
printf("%ld\n",b);
printf("%ld\n",c);
}
}
}
if(100000>a&a>10000)
{
c=10;
while(b*c!=a&c<2*b)
{
c++;
b=a/c;
if(a%b==0)
{
printf("%ld\n",b);
printf("%ld\n",c);
}
}
}
if(10000>a&a>1000)
{
c=10;
while(b*c!=a&c<2*b)
{
c++;
b=a/c;
if(a%b==0)
{
printf("%ld\n",b);
printf("%ld\n",c);
}
}
}
if(1000>a&a>100)
{
c=1;
while(b*c!=a&c<2*b)
{
c++;
b=a/c;
if(a%b==0)
{
printf("%ld\n",b);
printf("%ld\n",c);
}
}
}
if(100>a&a>10)
{
c=1;
while(b*c!=a&c<2*b)
{
c++;
b=a/c;
if(a%b==0)
{
printf("%ld\n",b);
printf("%ld\n",c);
}
}
}
printf("oh na");
getche();
goto f;
}