Professional Documents
Culture Documents
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
unsigned int x,m;
int k,i;
int main(){
printf("x=");
scanf("%x",&x);
m=1;
k=0;
for(i=31;i>=0;i--){
if((x>>i)&m)
printf("1");
else
printf("0");
if(i%4==0)
printf(" ");}
printf("\n");
system("pause");
return 0;}
//se da un caracter. Determinati daca este cifra, majuscula, minuscula sau operator aritmetic.
#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
char x;
int main(){
printf("Dati caracterul: ");
scanf("%c",&x);
switch(x){
case'0':case'1':case'2':case'3':case'4':case'5':case'6':case'7':case'8':case'9':printf("\nEste
cifra\n");break;
case'+':case'-':case'*':case'%':case'/':printf("\nEste operator aritmetic\n");break;
default: if(x>='A'&&x<='Z'){
printf("\nEste majuscula\n");
break;}
else
if(x>='a'&&x<='z'){
printf("\nEste minuscula\n");
break;}
else {
printf("\nEste alt caracter\n");
break; }}
system("PAUSE");}
int main(){
int n,s[20];
printf("n=");
scanf("%d",&n);
citire(s,n);
if(verificare(s,n))
printf("Sirul este sortat\n");
else{
sortare(s,n);
afisare(s,n);}
system("pause");}
//Se dau 2 siruri de m, respectiv n numere intregi sortate crescator. Sa se combine cele 2 siruri intr-un
singur sir sortat crescator.
#include<stdio.h>
#include<stdlib.h>
int k=0,a[20],b[20],c[40],m,n;
void citire(int s[],int n){
int i;
for(i=0;i<n;i++){
printf("s[%d]= ",i);
scanf("%d",&s[i]);}}
void afisare(int s[],int n){
int i;
for(i=0;i<n;i++)
printf("%d ",s[i]);
printf("\n");}
void interclasare(){
int i=0,j=0,x;
while(i<m&&j<n)
if(a[i]<b[j])
c[k++]=a[i++];
else
c[k++]=b[j++];
for(x=i;x<m;x++)
c[k++]=a[i++];
for(x=j;x<n;x++)
c[k++]=b[j++];}
int main(){
printf("m=");
scanf("%d",&m);
printf("n=");
scanf("%d",&n);
citire(a,m);
citire(b,n);
printf("Sirul a: ");
afisare(a,m);
printf("\nSirul b: ");
afisare(b,n);
interclasare();
printf("\nSirul interclasat: ");
afisare(c,k);
system("pause");}
//Se da un sir de n numere intregi alocate dinamic. Sortati crescator sirul.
#include<stdio.h>
#include<stdlib.h>
int *s,i,j,n,aux;
int main(){
printf("n=");
scanf("%d",&n);
s=(int *)malloc(n*sizeof(int));
for(i=0;i<n;i++){
printf("s[%d]=",i);
scanf("%d",&*(s+i));
}
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(*(s+i)>*(s+j)){
aux=*(s+i);
*(s+i)=*(s+j);
*(s+j)=aux;}
for(i=0;i<n;i++)
printf("%d ",*(s+i));
printf("\n");
system("pause");}
//Se da o matrice M x N numere intregi. Numarati cate elemente au toti vecinii numere pare (vecinul
de deasupra, de sub, din stanga si dreapta).
#include<stdio.h>
#include<stdlib.h>
int m,n,k,i,j,a[20][20];
int main(){
printf("m=");
scanf("%d",&m);
printf("n=");
scanf("%d",&n);
for(i=1;i<=m;i++)
for(j=1;j<=n;j++){
printf("a[%d][%d]=",i,j);
scanf("%d",&a[i][j]);}
for(i=1;i<=m;i++){
for(j=1;j<=n;j++)
printf("%4d ",a[i][j]);
printf("\n");}
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
if(!(a[i][j-1]%2||a[i][j+1]%2||a[i-1][j]%2||a[i+1][j]%2))
k++;
printf("Sunt %d elemente cu toti vecinii numere pare\n",k);
system("pause");}
//Se dau 2 numere intregi. Comparati-le folosind "if"-ul ala special din C.
#include<stdio.h>
#include<stdlib.h>
int a,b;
char op;
int main(){
printf("Dati cele 2 numere:\n");
scanf("%d %d",&a,&b);
op=a>b?'>':a<b?'<':'=';
printf("Rezultatul comparatiei este %d %c %d\n",a,op,b);
system("PAUSE");
return 0;}
//Se dau 3 numere intregi. Gasiti maximul dintre ele folosind "if"-ul specific C-ului.
#include<stdio.h>
#include<stdlib.h>
int a,b,c,max;
int main(){
printf("Dati cele 3 numere:\n");
scanf("%d %d %d",&a,&b,&c);
max=a>b?max=a>c?a:c:max=b>c?b:c;
printf("Maximul este egal cu %d\n",max);
system("PAUSE");
return 0;}
//Se introduc caractere pana la intalnirea caracterului '*'. Numarati vocalele.
#include<stdio.h>
#include<string.h>
#include<ctype.h>
#include<stdlib.h>
char c;
int k;
int main(){
while((c=getchar())!='*')
switch(tolower(c)){
case'a':case'e':case'i':case'o':case'u':k++;}
printf("Sunt %d vocale\n",k); system("pause");}
//Se introduce o data de forma zi/luna. Calculati cate zile mai sunt pana la sfarsitul anului. (Anul nu e
bisect)
#include<stdio.h>
#include<stdlib.h>
int z,l;
int main(){
printf("Introduceti data de forma zi/luna: ");
scanf("%d/%d",&z,&l);
switch(l){
case 1: printf("Mai sunt %d zile pana la sfarsitul anului\n",365-z); break;
case 2: printf("Mai sunt %d zile pana la sfarsitul anului\n",334-z); break;
case 3: printf("Mai sunt %d zile pana la sfarsitul anului\n",306-z); break;
case 4: printf("Mai sunt %d zile pana la sfarsitul anului\n",275-z); break;
case 5: printf("Mai sunt %d zile pana la sfarsitul anului\n",245-z); break;
case 6: printf("Mai sunt %d zile pana la sfarsitul anului\n",214-z); break;
case 7: printf("Mai sunt %d zile pana la sfarsitul anului\n",184-z); break;
case 8: printf("Mai sunt %d zile pana la sfarsitul anului\n",153-z); break;
case 9: printf("Mai sunt %d zile pana la sfarsitul anului\n",122-z); break;
case 10: printf("Mai sunt %d zile pana la sfarsitul anului\n",92-z); break;
case 11: printf("Mai sunt %d zile pana la sfarsitul anului\n",62-z); break;
default: printf("Mai sunt %d zile pana la sfarsitul anului\n",31-z); break;}
system("PAUSE");}
//se da o propozitie sa se desparta in cuvinte
#include<iostream.h>
#include<string.h>
char s[250],sep[]=", :!?",*p;
void main (){
cin.getline(s,251);
p=strtok(s,sep);
while(p){
cout<<p<<endl;
p=strtok(NULL,sep);}}
-N poate fi descompus in suma de patrate
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int n,i,sw;
int main(){
printf("n= ");
scanf("%d",&n);
for(i=1;i<=n/2+1;i++)
if((sqrt(i)==(int)sqrt(i))&&(sqrt(n-i)==(int)sqrt(n-i))){
printf("%d = %d + %d\n",n,i,n-i);
sw=1;
break;}
if(sw==0)