Todos os programas foram desenvolvidos na linguagem de programação C, e sem utilizar diretivas específicas de sistemas operacionais, como system("pause"), getch( ) ou conio.h. Nenhum dos testes estão impressas mensagens com solicitação de dados ao usuário.
1. Escreva um programa que recebe dois números inteiros e imprima na tela a soma destes números.
- #include <stdio.h>
- int main(){
- int n1,n2,soma;
- scanf("%d%d",&n1,&n2);
- soma=n1+n2;
- printf("%d",soma);
- return 0;
- }
2. Escreva um programa que recebe dois n umeros inteiros e imprima na tela a subtra c~ao do maior pelo menor.
- #include <stdio.h>
- int main(){
- int n1,n2,sub;
- scanf("%d%d",&n1,&n2);
- if(n1>n2){
- sub=n1-n2;
- }
- else sub=n2-n1;
- printf("%d",sub);
- return 0;
- }
3. Escreva um programa que recebe um inteiro e imprima "s" se ele for divis vel por 11 ou "n" caso contr ario.
- #include <stdio.h>
- int main(){
- int n;
- scanf("%d",&n);
- if(n%11==0){
- printf("S");
- }
- else printf("N");
- return 0;
- }
4. Escreva um programa que recebe 2 números reais como entrada e imprima a relação entre eles: se são "iguais", "menor que" ou "maior que".
- #include <stdio.h>
- int main(){
- float n1,n2;
- scanf("%f%f",&n1,&n2);
- if(n1>n2){ printf("%.f maior que %.f",n1,n2);}
- else if(n1<n2){ printf("%.f menor que %.f",n1,n2);}
- else printf("iguais");
- return 0;
- }
5. Escreva um programa que recebe 3 numeros reais e imprima o menor e o maior deles.
- #include <stdio.h>
- int main(){
- int n1,n2,n3;
- scanf("%d%d%d",&n1,&n2,&n3);
- if (n1>n2 && n1>n3){ printf("%d maior\n",n1);}
- if (n2>n1 && n2>n3){ printf("%d maior\n",n2);}
- if (n3>n1 && n3>n2){ printf("%d maior\n",n3);}
- if (n1<n2 && n1<n3){ printf("%d menor\n",n1);}
- if (n2<n1 && n2<n3){ printf("%d menor\n",n2);}
- if (n3<n1 && n3<n2){ printf("%d menor\n",n3);}
- return 0;
- #include <stdio.h>
- int main(){
- int a,b,c,d;
- scanf("%d%d%d",&a,&b,&c);
- if(a > b)
- {
- d = a;
- a = b;
- b = d;
- }
- if(a > c)
- {
- d = a;
- a = c;
- c = d;
- }
- if(b > c)
- {
- d = b;
- b = c;
- c = d;
- }
- printf("%d %d %d\n",a,b,c);
- return 0;
- }
7. Escreva um programa que recebe como entrada o raio de um círculo e imprima o diâmetro, o per metro e a área desse círculo (considere = 3:14159).
- #include <stdio.h>
- int main(){
- float r,diam,area,per,pi=3.14159;
- scanf("%f",&r);
- diam = 2*r;
- per = pi*diam;
- area = pi*r*r;
- printf("%.2f\n%.2f\n%.2f\n",diam,per,area);
- return 0;
- }
8. Escreva um programa que recebe 4 números e imprima a média entre estes números com precisão de duas casas decimais.
- #include <stdio.h>
- int main(){
- float n1,n2,n3,n4,media;
- scanf("%f%f%f%f",&n1,&n2,&n3,&n4);
- media= (n1+n2+n3+n4)/4;
- printf("%.2f\n",media);
- return 0;
- }
9. Escreva um programa que recebe um inteiro n e calcule e imprima a soma dos n primeiros números naturais.
- #include <stdio.h>
- int main(){
- int n,soma=0;
- int i=0;
- scanf("%d",&n);
- for(i;i<n;i++){
- soma=soma+i;
- }
- printf("%d\n",soma);
- return 0;
- }
10. Escreva um programa que recebe um inteiro n e calcule e imprima a multiplica ção de todos os n umeros pares de 1 at e n.
obs.: uma declaração como int
, pode possuir apenas 16 bits, 32 bits ou 64 bits.- #include <stdio.h>
- int main(){
- int n,mult=1;
- int i=1;
- scanf("%d",&n);
- for(i;i<=n;i++)
- {
- if(i%2==0){
- mult=mult*i;
- }
- }
- printf("%d\n",mult);
- return 0;
- }
11. Escreva um programa que recebe um número x e um inteiro positivo n e imprima o resultado de x'n sem utilizar funções da biblioteca matemática.
- #include <stdio.h>
- int main() {
- int i, j;
- int x, n, result, aux;
- scanf("%d%d", &x,&n);
- if(n == 0) {
- result = 1;
- } else {
- result = x;
- for(i = 1; i < n; i++)
- {
- aux = 0;
- for(j = 1; j <= x; j++)
- {
- aux = aux + result;
- }
- result = aux;
- }
- }
- printf("%d\n", result);
- return 0;
- }
12. Escreva um programa que recebe um inteiro n e imprima o fatorial de n.
- #include <stdio.h>
- int main() {
- int i;
- int x, result=1, aux;
- scanf("%d", &x);
- for(i = 1; i <= x; i++)
- {
- aux=i;
- result=result*i;
- }
- printf("%d\n", result);
- return 0;
- }
13. Escreva um programa que recebe uma sequência de números inteiros e imprima a soma destes números. Seu programa deve parar de ler novos números e imprimir a soma quando ler o número 0.
- #include <stdio.h>
- int main() {
- int n,result=0;
- do{
- scanf("%d",&n);
- result+=n;
- }while(n!=0);
- printf("%d\n", result);
- return 0;
- }
14. Escreva um programa que recebe n números, calcule a média entre eles e imprima quais destes números estão acima da média e quais estão abaixo da média. Seu programa deve primeiramente ler a quantidade de números (n) e imprimir primeiro aqueles que estão acima da média e depois os que estão abaixo da média na mesma ordem em que eles ocorrem no vetor.
Obs.: O código aceita somente números inteiros!
- #include <stdio.h>
- int main() {
- int n,cont,i=0;
- float media;
- scanf("%d",&n);
- int vet[n];
- for(cont=0;cont<n;cont++)
- {
- scanf("%d",&vet[cont]);
- i=i+vet[cont];
- }
- printf("\n");
- media = i/cont;
- for(cont=0;cont<n;cont++)
- {
- if (vet[cont]>media)
- {
- printf("%d\n",vet[cont]);
- }
- }
- printf("\n");
- for(cont=0;cont<n;cont++)
- {
- if (vet[cont]<media)
- {
- printf("%d\n",vet[cont]);
- }
- }
- return 0;
- }
15. Escreva um programa que recebe n números e imprima estes números na ordem inversa em que foram digitados. Seu programa deve primeiramente ler a quantidade de números (n).
- #include <stdio.h>
- int main() {
- int n,cont,i=0;
- scanf("%d",&n);
- int vet[n];
- for(cont=0;cont<n;cont++)
- {
- scanf("%d",&vet[cont]);
- }
- for(cont=n-1;cont>=0;cont--)
- {
- printf("\n%d",vet[cont]);
- }
- printf("\n");
- return 0;
- }
16. Escreva um programa que recebe n números e imprima a soma dos números que estão nos índices pares do vetor. Seu programa deve primeiramente ler a quantidade de números (n).
- #include <stdio.h>
- int main() {
- int n,cont,soma=0;
- scanf("%d",&n);
- int vet[n];
- for(cont=0;cont<n;cont++)
- {
- scanf("%d",&vet[cont]);
- if (cont%2==0) {
- soma=soma+vet[cont];
- }
- }
- //mostra os valores do vetor com o valor digitado
- /*for(cont=0;cont<n;cont++)
- {
- printf("vetor[%d]=%d\n",cont,vet[cont]);
- }*/
- printf("%d\n",soma);
- return 0;
- }
17. Escreva um programa que recebe n números, armazene-os em um vetor e depois lê mais um número e imprima "s" se este n úmero está no vetor ou "n" caso contrário.
- #include <stdio.h>
- int main() {
- int n,search,cont;
- int val=0;
- scanf("%d",&n)
- int vet[n];
- for(cont=0;cont<n;cont++)
- {
- scanf("%d",&vet[cont]);
- }
- scanf("%d",&search);
- for(cont=0;cont<n;cont++)
- {
- if(vet[cont]==search)
- {
- val=1;
- }
- }
- if (val==1){ printf("s\n");}
- else printf("n\n");
- return 0;
- }
18. Escreva um programa que leia os números de uma matriz quadrada N x N (seu programa deve ler a dimensão N da matriz antes de tudo) e imprima a soma dos elementos da diagonal principal da matriz.
- #include <stdio.h>
- int main() {
- int n,cont,soma=0;
- int l,c; //linha e coluna
- scanf("%d",&n);
- int mat[n][n];
- for(l=0;l<n;l++)
- {
- for (c=0;c<n;c++)
- {
- scanf("%d",&mat[l][c]);
- }
- }
- // o comentado imprime a matriz na tela
- /*printf("\n");
- for(l=0;l<n;l++)
- { printf("\n");
- for (c=0;c<n;c++)
- {
- printf("%d ",mat[l][c]);
- }
- }
- */
- for(l=0;l<n;l++)
- {
- for (c=0;c<n;c++)
- {
- if (l==c){soma+=mat[l][c];}
- }
- }
- printf("\n%d\n ",soma);
- return 0;
- }
19. Escreva um programa que recebe duas matrizes de mesma dimensão N x M (seu programa deve ler as dimensões N e M da matriz antes de tudo) e imprima a soma destas matrizes.
- #include <stdio.h>
- int main() {
- int n,m, cont;
- int l,c;
- scanf("%d%d",&n,&m);
- int mat1[n][m],mat2[n][m],mat_soma[n][m];
- for(l=0;l<n;l++)
- {
- for (c=0;c<m;c++)
- {
- scanf("%d",&mat1[l][c]);
- }
- }
- for(l=0;l<n;l++)
- {
- for (c=0;c<m;c++)
- {
- scanf("%d",&mat2[l][c]);
- }
- }
- for(l=0;l<n;l++)
- {
- for (c=0;c<m;c++)
- {
- mat_soma[l][c]=mat1[l][c]+mat2[l][c];
- }
- }
- printf("\n");
- // imprime o valor das matrizes na tela
- /*for(l=0;l<n;l++)
- {
- printf("\n");
- for (c=0;c<m;c++)
- {
- printf("%d ",mat1[l][c]);
- }
- }
- printf("\n");
- for(l=0;l<n;l++)
- {
- printf("\n");
- for (c=0;c<m;c++)
- {
- printf("%d ",mat2[l][c]);
- }
- }
- */
- for(l=0;l<n;l++)
- {
- printf("\n");
- for (c=0;c<m;c++)
- {
- printf("%d ",mat_soma[l][c]);
- }
- }
- return 0;
- }
20. Uma matriz quadrada é chamada triangular superior quando todos os elementos abaixo da diagonal principal são iguais a zero. Escreva um programa que lê uma matriz N x N e imprima "s" se ela e triangular superior ou "n" caso contrário.
- #include <stdio.h>
- int main() {
- int n;
- int l,c;
- scanf("%d",&n);
- int mat[n][n];
- for(l=0;l<n;l++)
- {
- for (c=0;c<n;c++)
- {
- scanf("%d",&mat[l][c]);
- }
- }
- for(l=0;l<n;l++)
- {
- for (c=0;c<n;c++)
- {
- if(l>c && mat[l][c]!=0)
- {
- printf("n\n");
- return 0;
- }
- }
- }
- printf("s\n");
- return 0;
- }
Todas as questões foram resolvidas e testadas por, caso haja alguma forma diferenciada que possa facilitar o algoritmo, deixem comentários.
0 comentários:
Postar um comentário