Lập trình C: Đề 19
Giải phóng thời gian, khai phóng năng lực
Câu 1:
1. int nhonhat(int a, int b, int c);
2. void inmang(int N, int a[]);
3. void nhap(int *N);
4. void strnhonhat(int N, char str[][20]);
Câu 2:
#include <stdio.h>
#include <conio.h>
void nhap(int *N, float a[])
{
int i;
do
{
printf("\nN = ");
scanf("%d",N);
}while(*N<=0);
printf("\nNhap cac phan tu cua mang:");
for(i=0; i<*N; i++)
{
printf("\na[%d] = ",i);
scanf("%f",&a[i]);
}
}
void inmang(int N, float a[])
{
int i;
printf("\nCac phan tu cua mang:");
for(i=0; i<N; i++)
printf("\na[%d] = %g",i,a[i]);
}
void sapxep(int N, float a[])
{
int i,j;
float tg;
for(i=0; i<N-1; i++)
for(j=i+1; j<N; j++)
if(a[i]<a[j])
{
tg=a[i];
a[i]=a[j];
a[j]=tg;
}
printf("\nSau khi sap xep:");
for(i=0; i<N; i++)
printf("\na[%d] = %g",i,a[i]);
}
void main()
{
int N;
float a[30];
clrscr();
nhap(&N,a);
inmang(N,a);
sapxep(N,a);
getch();
}
Câu 3:
#include <stdio.h>
#include <conio.h>
#include <string.h>
void menu(void)
{
printf("\n1. Input N and N strings");
printf("\n2. Print N strings");
printf("\n3. Count the strings have numeric character in it and print those string");
printf("\n4. Sort the strings");
printf("\n5. Exit");
}
void nhap(int *N, char str[][30])
{
int i;
do
{
printf("\nN = ");
scanf("%d",N);
}while(!(0<*N && *N<20);
printf("\nNhap cac chuoi:");
for(i=0; i<*N; i++)
{
printf("\nChuoi thu %d: ",i+1);
fflush(stdin);
gets(str[i]);
}
}
void inchuoi(int N, char str[][30])
{
int i;
printf("\nCac chuoi sau khi nhap:\n");
for(i=0; i<N; i++)
puts(str[i]);
}
void demchuoi(int N, char str[][30])
{
int i, j, dem=0;
for(i=0; i<N; i++)
for(j=0; j<strlen(str[i]); j++)
if(str[i][j]>='0' && str[i][j]<='9')
{
dem++;
break;
}
printf("\nSo luong chuoi co ky tu so la: %d",dem);
if(dem==0)
printf("\nKhong co chuoi nao co ky tu so!");
else
{
printf("\nNhung chuoi co ky tu so la:");
for(i=0; i<N; i++)
for(j=0; j<strlen(str[i]); j++)
if(str[i][j]>='0' && str[i][j]<='9')
{
printf("\n%s",str[i]);
break;
}
}
}
void sapxep(int N, int str[][30])
{
int i, j;
char tg[30];
for(i=0; i<N-1; i++)
for(j=i+1; j<N; j++)
if(strcmp(str[i],str[j])>0) // Chuoi truoc lon hon chuoi sau ve vi tri ky tu trong bang ma ASCII
{
strcpy(tg,str[i]);
strcpy(str[i],str[j]);
strcpy(str[j],tg);
}
printf("\nSau khi sap xep, ta co:");
for(i=0; i<N; i++)
printf("\nChuoi thu %d: %s",i+1,str[i]);
}
void main()
{
int N, chon;
char str[19][30];
clrscr();
while(1) {
menu();
printf("\n\nMoi ban chon mot muc: ");
scanf("%d", &chon);
switch(chon) {
case 1: nhap(&N,str); break;
case 2: inchuoi(N,str); break;
case 3: demchuoi(N,str);break;
case 4: sapxep(N,str); break;
case 5: return;
}
}
getch();
}
Giải phóng thời gian, khai phóng năng lực