برنامه ای بنویسید که یک عدد را دریافت و فاکتوریل آنرا محاسبه کند .
#include<stdio.h>
int a=0,b;
long c=1;
int main()
{
while (a!=-1) {
printf ("enter a number:\n");
scanf ("%d",&a);
for (b=1;b<=a;b++) c=c*b;
clrscr();
printf ("%d ! = %ld \n\n\n",a,c);
c=1;
}
}
برنامه ای بنویسید که یک ععد طبیعی را از ورودی دریافت کند و تعیین کند که کامل است یا خیر . عدد کامل عددی است که برابر مجموع مقسوم علیه های خودش باشد . مثل 6 و 28
#include<stdio.h>
int main()
{
int a=0,sum=0,k,i;
printf ("enter a number:\n");
scanf ("%d",&a);
for (i=1;i<a;i++){
k=a%i;
if(k==0)
sum+=i;
}
if (a==sum) printf ("YES.. ");
else printf ("NO.. ");
}
تابعی بنویسید که یک عدد از ورودی دریافت کند ، اگر مثبت بود 1 و اگر منفی بود ، -1 و اگر 0 بود ، عدد 0 را بر گرداند . در برنامه اصلی یک عدد از ورودی دریافت کنید . سپس تابع sign را با آن عدد به عنوان پارامتر صدا بزنید . نهایتا در برنامه main علامت عدد چاپ شود .
#include <stdio.h>
signed int a=0;
main()
{
while (a != -999) {
scanf ("%d",&a);
printf ("\t %c\n",sign(a));
}
}
signed int sign(signed int b)
{
if (b>0) return '+1';
if (b==0) return '0';
if (b<0) return '-1';
}
برنامه ای بنویسید که بدون نیاز به متغیر اضافی ، مقادیر دو متغیر را با یکدیگر جابجا کند .
#include<stdio.h>
int a=15,b=53;
main()
{
printf ("before \t a=%d ,b=%d \n",a,b);
a=a+b;
b=a-b;
a=a-b;
printf ("after \t a=%d ,b=%d \n",a,b);
}
برنامه ای بنویسید که میانگین عناصر یک جدول ضرب 10*10 را که هم بر 5 و هم بر 7 بخش پذیر هستند را چاپ کند (برای محاسبه میانگین به یک متغیر برای جمع و یک متغیر برای تعداد اعداد جمع شده نیاز است).
#include <conio.h>
int t=0,sum=0,i,j;
main()
{
clrscr();
for (i=1 ; i<=10 ; i++)
for (j=1 ; j<=10 ; j++)
if (((i*j%5)==0) && ((i*j%7)==0)) {
sum=sum + (i*j);
t++;
}
printf ("Avg = %d",sum);
getch ();
}
برنامه ای بنویسید که یک عدد را از ورودی گرفته و مغلوب آنرا محاسبه کند (مثلا مغلوب عدد 852 ، 258 است).
#include <conio.h>
int a,i;
main()
{
clrscr();
scanf ("%d",&a);
for ( ; a>0 ; ) {
printf ("%d",(a%10));
a = a/10;
}
getch ();
}
برنامه ای بنویسید که تا زمانی که یک عدد متقارن از وردی نگرفته است ، از ورودی عدد بگیرد و تعداد دفعات وارد کردن عدد را بشمارد و آنرا چاپ کند و سپس خارج شود (عدد متقارن با مغلوبش برابر است).
#include <conio.h>
int a,k,n,t=0;
main()
{
for (;;)
{
scanf ("%d",&a);
n=a;
t++ ; k=0 ;
for (; a>0 ;)
{
k = (k*10) + (a%10) ;
a=a/10 ;
}
if (n == k){
printf ("%d\n",t);
break;
}
}
getch ();
}
برنامه ای بنویسید که 3 عدد را از ورودی دریافت کند و به صورت صعودی مرتب نموده و در خروجی چاپ کند .
#include <conio.h>
int a,b,c,temp;
main()
{
clrscr();
scanf ("%d%d%d",&a,&b,&c);
if (a<b) {
temp=a;
a=b;
b=temp;
}
if (a<c) {
temp=a;
a=c;
c=temp;
}
if (b<c) {
temp=b;
b=c;
c=temp;
}
printf ("%d,%d,%d"a,b,c);
}
برنامه ای بنویسید که دو عدد را به همراه عملگر ریاضی مربوطه دریافت کند و با توجه به آن یکی از 4 عمل ریاضی را انجام دهد .
#include <stdio.h>
int a,b;
main()
{
clrscr();
printf ("enter a : ");
scanf ("%d",&a);
printf ("enter b : ");
scanf ("%d",&b);
printf ("enter operator : ");
getchar();
switch (getchar ())
{
case '+':
printf ("a+b = %d",a+b);
break;
case '-':
printf ("a-b = %d",a-b);
break;
case '*':
printf ("a*b = %d",a*b);
break;
case '/':
printf ("a/b = %d",a/b);
break;
}
getch();
}
برنامه ای بنویسید که میانگین اعداد اول کوچکتر از 100 را چاپ کند (1 محسوب نمی شود).
#include <stdio.h>
int i,t=0,s=0;
int prime(int n);
main()
{
clrscr();
for (i=2 ; i<10 ; i++)
if (prime (i) ==0)
{
s=s+i;
t++;
}
printf ("%d",s/t);
getch();
}
int prime (int n)
{
int j,t=0;
for (j=2 ; j<=(int)n/2 ; j++)
if (n%j==0) t++;
return t;
}
برنامه ای بنویسید که عددی را از ورودی دریافت کند و سپس در بین اعداد 1 تا 100 ، آنهایی را که بر آن بخش پذیر نیستند را چاپ کند . مجوز استفاده از ? ، for ، if ، % و & را ندارید .
#include <stdio.h>
main()
{
int i=1,j=0,k=0,n;
clrscr();
printf ("Please enter the n = ");
scanf ("%d",&n);
while (i <= (100/n)+1)
{
k++;
j=j+n;
while (k<j && k<=100)
{
printf ("%d,",k);
k++;
}
i++;
}
getch ();
}
برنامه ای بنویسید که 10 عدد را از ورودی خوانده و درون یک آرایه ذخیره کند و سپس ماکزیمم مقدار را به همراه محل آن محاسبه و چاپ کند .
#include <stdio.h>
long a[10],t,i,max=0;
main()
{
clrscr ();
for (i=0 ; i<=9 ; i++) scanf ("%ld",&a[i]);
for (i=0 ; i<=9 ; i++)
if (max < a[i])
{
max=a[i];
t=i;
}
printf ("max = %ld , loction = %ld",max,t);
getch ();
}
برنامه ای بنویسید که 10 عدد را از ورودی دریافت کرده و مقادیر زیر را محاسبه کرده و نمایش دهد :
میانگین - معکوس آنها (از انتها به ابتدا) - مرتب بر اساس صعودی بودن
#include <stdio.h>
int a[10],i,j,sum=0,temp;
main()
{
clrscr ();
for (i=0 ; i<=9 ; i++)
{
scanf ("%d",&a[i]);
sum=sum+a[i];
}
printf ("Average = %d \n",sum/10);
for (i=9 ; i>=0 ; i--) printf ("%d ",a[i]);
for (i=0 ; i<9 ; i++)
for (j=i+1 ; j<=9 ; j++)
if (a[i] < a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
printf ("\n\n");
for (i=0 ; i<=9 ; i++) printf ("%d ",a[i]);
getch ();
}
برنامه ای بنویسید که یک رشته 10 حرفی را از ورودی خوانده و با 5 رشته داده شده اولیه مقایسه کند و تشخیص دهد که آیا رشته خوانده شده درون آرایه ای از رشته های اولیه موجود است یا نه ؟
#include <stdio.h>
#include <string.h>
main()
{
char s[5][10]={"ali","javad","ahmad","hasan","reza"};
char n[10];
int i;
clrscr ();
gets (n);
for (i=0 ; i<=4 ; i++)
if (strcmp (s[i],n)==0)
{
puts ("find string");
break;
}
getch ();
}
برنامه ای بنویسید که یک عدد را از ورودی گرفته و مبنای 2 آنرا محاسبه و نمایش دهد (با استفاده از آرایه ها).
#include <stdio.h>
#include <conio.h>
int n,i=0;
int a[16]={0};
main()
{
clrscr ();
printf ("Please enter n = ");
scanf ("%d",&n);
while (n>1)
{
a[i]=n%2;
n=n/2;
i++;
}
printf ("%d",n);
for (i=i-1 ; i>=0 ; i--) printf ("%d",a[i]);
getch ();
}
برنامه ای بنویسید که عددی را از ورودی دریافت کند و معادل باینری آنرا نمایش دهد. (به وسیله روش بازگشتی).
#include <conio.h>
int a;
main()
{
clrscr();
printf ("Please enter : ");
scanf ("%d",&a);
binary(a);
getch();
}
binary(int n)
{
if (n>0) {
binary(n/2);
printf ("%d",(n%2));
}
}
منبع