Varias preguntas sobre el lenguaje C
#include lt; stdio.hgt
int fun(int a[], int n)
{
int i, j=0
for(i=1; ilt; n; i )
{
si( a[i]! =a[j])
{
j;
a[j]=a[i];
}
}
devolver j 1;
}
main()
{ int a [10], i, n=10;
for (i=0; ilt; 10; i )
scanf("d", amp; a[i]
printf("Los datos originales:\n");
for(i=0; ilt; n; i) printf("3d", a[i]
n=fun(a,n);
printf("/n\nLos datos después de eliminar:\n");
for( i= 0;ilt;n;i)printf("3d",a[i]);printf("\n\n");
}
2. Solución : El programa fuente es el siguiente:
# define M sizeof (unsigned int)*8/* La función TRANS convierte un entero sin signo N en una cadena S representada por D (2, 8, 16) hexadecimal * /
int trans( unsigned n, int d, char s[])
{
dígitos de caracteres estáticos[]="0123456789ABCDEF" /* Hexadecimal; carácter numérico*/
char buf[M 1];
int j, i=M;
if (dlt; 2|| dgt; 16)
{
s[0]='\0'; /* Decimal irrazonable, establece S en cadena vacía */
return 0 /* Decimal irrazonable, la función devuelve; 0 */
}
buf[i]='\0';
hacer
{ p>
buf[--i]= dígitos[nd];/* Encuentre el dígito más bajo y almacene el carácter correspondiente en la matriz correspondiente*/
n/=d;
} mientras (n);
para (j=0; (s[j]=buf[i])! ='\0';j,i)/* Copie la cadena de la matriz de trabajo a S**
s[j]=buf[i];/* La condición de control se puede escribir como S [J ]=BUF[i]*
Devuelve j;
}
main()
{
unsigned int num=0;
int escala[]={2, 8, 16};
char str[33]; ;
clrscr();
puts("
ingrese un número en num: ");
scanf("d",amp;num);
printf("el número que ingresó es d,\n los resultados de la traducción son:\n", num);
for (i=0; ilt; sizeof(scale)/sizeof(scale[0]); i )
{
if (trans(num, escala[i], str))
printf("5d=s(d)\n", num, str, escala[i]); p> p>
else
printf("5d=gt; (d)error!\n", num, str, escala[i]); /p >
printf("(n) Presione cualquier tecla para salir (n)");
getch()
}
3 Solución: El programa fuente es el siguiente:
(Nota: en este código fuente, el valor de retorno de la función GetWeekDay solo indica si los parámetros de entrada son "correctos/válidos" (por ejemplo, el primero). tres parámetros usan 2001, 2, 29 Sí Parámetros no válidos), si se obtiene el valor de la semana esperado (el valor de la semana real es el valor de la semana real devuelto a la persona que llama a través de la variable de salida)
//// //////// ////////////////////////////////////////////////////////////
#include lt; tiempo.hgt;
#include lt; stdio.hgt;
int GetWeekDay (int nAño, int nDay, int *npWeekDay
<); p>int main(){
int nMiDíaSemana
int nResultado
nResultado = ObtenerDíaSemana(2007, 1, 10) , amp; nMyWeekDay);
return 0;
}
Ingrese la fecha y devuelva el día de la semana.
npWeekDay)
{
int nRetVal = 0;
time_t tMyDateTime
struct tm tmMyDate, *tmpMyDate
;if((nAño;1900||nAño gt;=3000)
||(nMonlt;1||nMongt;12)
||(nDaylt;1| |nDaygt; 31) )
{
nRetVal = 1;
*npWeekDay = -1
Devuelve nRetVal p>
p>
}
tmMyDate.tm_min = 30;
tmMyDate.tm_sec = 30
tMyDateTime = mktime(amp; tmMyDate);
tmMyDate.tm_sec = 30; p>
if(tMyDateTimelt; 0)
{
nRetVal = 1;
*npWeekDay = -1;
return nRetVal
}
}
tmpMyDate = hora local(amp;tMyDateTime)
*npWeekDay = tmpMyDate-gt;tm_wday
devuelve nRetVal
}