scan(int *a)
{
int i;
for(i=0;i<10;i++)
scanf("%d",(a+i));
}
fun(int *a)
{
int max=*a,min=*a,i;
for(i=0;i<10;i++)
{
if(max<*(a+i))
max=*(a+i);
if(min>*(a+i))
min=*(a+i);
}
for(i=0;i<10;i++)
{
if(max==*(a+i))
{
*(a+i)=*(a+9);
*(a+9)=max;
}
if(min==*(a+i))
{
*(a+i)=*a;
*a=min;
}
}
}
print(int *a)
{
int i;
for(i=0;i<10;i++)
printf("%d",*(a+i));
}
main()
{
int a[10];
scan(a);
fun(a);
print(a);
}
32.有N个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数。写一函数实现以上功能,在主函数中输入n个整数和输出调整后的n个数(指针)
#include <stdio.h>
#include <stdlib.h>
void main()
{
int all=0,alll=0;
int m=3,n,i,cnt=0,CNT=0,flag;
printf("please input the N:\n");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
alll+=i;
}
int *a=(int*)malloc(n*sizeof(int));
for(i=0;i<n;i++)
a[i]=i+1;
while(1)
{
flag=CNT;
for(i=0;i<n;i++)
{
if(a[i]!=0)
{
cnt++;
CNT++;
}
if(cnt==m)
{
a[i]=0;
cnt=0;
all+=i+1;
}
}
if(CNT==flag+1)
break;
}
free(a);
printf("%d",alll-all);
}
#include<stdio.h>
str(char *st)
{
int lon=0;
while(*st!=0)
{
lon++;
st++;
}
return(lon);
}
main()
{
char a[100];
scanf("%s",a);
printf("%d",str(a));
}
#include<stdio.h>
fun(char *p,char *q,int m)
{
int i,j=0;
for(i=m;*(p+i)!=0;i++,j++)
{
*(q+j)=*(p+i);
}
}
main()
{
char a[100],b[100];
int n;
scanf("%s",a);
scanf("%d",&n);
fun(a,b,n);
printf("%s",b);
}
#include<stdio.h>
jud(char *p)
{
int i,big=0,little=0,blank=0,num=0,other=0;
while(*p!='\n')
{
if(*p>='A'&&*p<='Z')
big++,p++;
else if(*p>='a'&&*p<='z')
little++,p++;
else if(*p==' ')
blank++,p++;
else if(*p>=1&&*p<=9)
num++,p++;
else
other++,p++;
}
printf("%d %d %d %d %d",big,little,blank,num,other);
}
main()
{
int i;
char a;
scanf("%s",&a);
jud(a);
}
#include<stdio.h>
fun(int (*p)[3],int (*p1)[3])
{
int i,j,n;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
p1[i][j]=p[j][i];
}
}
main()
{
int a[3][3],b[3][3];
int i,j;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
}
fun(a,b);
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("%d",b[i][j]);
printf("\n");
}
}
#include<stdio.h>
fun(int n,int *p)
{
int i,k;
for(i=0;i<n/2;i++)
{
k=p[i];
p[i]=p[n-i-1];
p[n-i-1]=k;
}
}
main()
{
int i,a[10];
for(i=0;i<10;i++)
scanf("%d",&a[i]);
fun(10,a);
for(i=0;i<10;i++)
printf("%d ",a[i]);
}
39.节假日期间某单位安排值班,单位有A、B、C、D、E、F、G七位值班人员,在一星期内(星期一至星期天)每人要轮流值班一天。现
在已知:
A值班人员比C值班人员晚一天值班;
D值班人员比E值班人员晚二天值班;
B值班人员比G值班人员早三天值班;
F值班人员的值班日在B和C值班人员的中间,且是星期四;
#include<stdio.h>
count(int a)
{
int i,j,all=0,num=0;
for(i=2;i<=a;i++)
{
for(j=2;j<i;j++)
if(i%j==0)
break;
if(i==j)
all+=i,num+=1;
}
printf("%d\t%d",all,num);
}
main()
{
int a;
scanf("%d",&a);
count(a);
}
|