一.上午培训内容
随机数
/*
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
int i;
srand((unsigned)time(NULL)); //unsigned
i=rand()%100;
printf("%d",i);
}
*/
二.下午培训内容
//第一题:十进制转换八进制
/*
#include<stdio.h>
#include<math.h>
int main()
{
int a,b,i,s=0,sum=0;
int c[20]={0};
printf("输入一个十进制数");
scanf("%d",&a);
while(a/8!=0)
{
s+=1;
b=a/8;
c[s-1]=a%8;
a=b;
}
c[s]=a%8;
for(i=0;i<=s;i++)
{
sum+=c[i]*pow(10,i);
}
printf("八进制为%d",sum+1);
}
*/
/*
#include<stdio.h>
#include<math.h>
int main()
{
int a,b,i,s=0,sum=0;
int c[20]={0};
printf("输入一个八进制数");
scanf("%d",&a);
while(a/10!=0)
{
s+=1;
b=a/10;
c[s-1]=a%10;
a=b;
}
c[s]=a%10;
for(i=0;i<=s;i++)
{
sum+=c[i]*pow(8,i);
}
printf("十进制为%d",sum);
}
*/
//第二题:编写一段代码,求出数组s中的所有奇数的和,和所有偶数的和,奇数和用指针add返回,
//偶数和用指针even返回,在主函数内做输入输出,子函数做数据处理
/*
#include<stdio.h>
int *fun();
int *funfun();
int nun[10]={};
int main()
{
int i;
printf("请输入十个数:");
for(i=0;i<10;i++)
{
scanf("%d",&nun[i]);
}
fun();
funfun();
printf("这个数组中奇数和是%d\n\
这个数组的偶数和是%d\n",(*fun()),(*funfun()));
}
int *fun()
{
int j;
int s=0,c=0;
int *add;
for(j=0;j<10;j++)
{
if(nun[j]%2==1)
s=s+nun[j];
else
c=c+nun[j];
}
add=&s;
return add;
}
int *funfun()
{
int j;
int s=0,c=0;
int *even;
for(j=0;j<10;j++)
{
if(nun[j]%2==1)
s=s+nun[j];
else
c=c+nun[j];
}
even=&c;
return even;
}
*/
//第三题:输入10个整数,将最小的数与第一数调换,最大的数和最后一个调换
//用指针分别写三个函数
//输入10个整数
//按要求对数进行交换
//输出10个数
/*
#include<stdio.h>
int *fun(int *p);
int *funfun(int *p);
int main()
{
int a[10]={0};
int i;
printf("请输入十个数:");
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
fun(a);
funfun(a);
}
int *fun(int *p)
{
int b[10]={0};
int i,j;
int s=0;
for(i=0;i<10;i++)
{
b[i]=*(p+i);
}
for(j=0;j<9;j++)
{
for(i=0;i<9;i++)
{
if(b[i]>b[i+1])
{
s=b[i];
b[i]=b[i+1];
b[i+1]=s;
}
}
}
for(i=0;i<10;i++)
{
if(*(p+i)==b[0])
{
*(p+i)=*p;
}
}
for(i=0;i<10;i++)
{
if(*(p+i)==b[9])
{
*(p+i)=*(p+9);
}
}
*p=b[0];
*(p+9)=b[9];
}
int *funfun(int *p)
{
int i;
printf("将其中最小的数与第一个数对换,最大的数与最后一个数对换,结果是:\n");
for(i=0;i<10;i++)
{
printf("%d ",*(p+i));
}
printf("\n");
}
*/
//第四题:写一个函数int digit(int n,int k)返回n的从右到左的第K个十进制数字符位
//例如:digit(1357,2), 返回5
/*
#include<stdio.h>
int digit(int n,int k);
int main()
{
int a,b;
scanf("%d",&a);
scanf("%d",&b);
printf("%d",digit(a,b));
}
int digit(int n,int k)
{
int a=1,b=1;
int i;
for(i=0;i<k;i++)
{
a=a*10;
}
for(i=0;i<k-1;i++)
{
b=b*10;
}
return (n%a)/b;
}
*/
//第五题:给一个不多于9位的正整数,13657,75631
//要求:(求它是几位数)(逆序打印出各位数字,拼成一个整形数字)
/*
#include<stdio.h>
int main()
{
int a,s=0,sum=0;
printf("请输入一个正整数");
scanf("%d",&a);
while(a%10!=0)
{
s+=1;
sum=sum*10+a%10;
a=a/10;
}
printf("它是%d位数,逆序输出为%d",s,sum);
}
*/