#include<stdlib.h>
#include<time.h>
int main()
{
int count[9]={0}//1,2,3,...8面
int i,randvalue,maxcount,maxflag
srand(time(NULL))
for(i=1i<=10000i++)
{
randvalue = rand()%8+1
count[randvalue]++
}
maxcount=count[1]
maxflag=1
for(i=1i<=8i++)
{
if(maxcount<count[i])
{
maxcount = count[i]
maxflag =i
}
}
printf("%d %d\n",maxflag,maxcount)
return 0
}
从dat后面那一句开始int i
for(i=0i!=16++i)
{
*(Array+i)=(dat>>(i/2))&0x01
}
dat=*Array
for(i=1i!=16++i)
{
dat|=(*(Array+i)<<i)
}
1.输入2个正整数m和n,求其最大公约数和最小公倍数#include
#include
int main()
{
int m,n,p,q,s,r
printf("请输入两个正整数;m,n\n")
scanf("%d,%d",&m,&n)
s=m*n
if(m<n)
{
p=m
m=n
n=p
}
printf("%d\t%d\n",m,n)/*按从大到小输出m,n */
while(n!=0)
{
q=m%n
m=n
n=q
}
/*是不是m才是最大公约数啊*/
r=s/m
printf("m和n最大公约数为 %d\n",m)
printf("m和n最小公倍数为 %d\n",r)/*m和n的积除以m和n的最大公约数即为最小公倍数*/
return 0
}
2.输出100以内能被3整除且个位数为6的所有整数。
#include
int main(void)
{
int i
for(i=1i<=100i++)
if(i%3==0&&i%10==6)printf("%d ",i)
return 0
}
3. 编程计算从1到10各数阶乘的和,即1! + 2! + 3! + …… + 9! + 10! 的和
#include
int main(void)
{
int sum,i,term
sum=0
term=1
for(i=1i<=10i++)
{
term=term*i
sum=sum+term
printf("%d的阶乘 %d\n",i,term)
}
printf("1到10各数阶乘的和 %d\n",sum)
return 0
}
4.使用嵌套循环产生下列由大写字母组成的图
#include
int main(void)
{
char ch1,ch2
for(ch1='A'ch1<='Z'ch1++)
{
for(ch2='A'ch2<=ch1ch2++)
printf("%c",ch2)
printf("\n")
}
return 0
}
5. 编程输出所有三位数中的素数。
#include
int main(void)
{
int x,i
for(x=100x<=999x++)
{
for(i=2i<x/2i++)
if(x%i==0)break
if(i==x/2)printf("%d ",x)
}
return 0
}
6. 定义一个函数even(),判断一个整数是否是偶数。如果是偶数返回1,否则返回0。(要求包括能使程序正常运行的主函数)
#include
int main(void)
{
int even(int)
int x,y
scanf("%d",&x)
y=even(x)
if(y==1)
printf("%d 是偶数\n",x)
else
printf("%d 是奇数\n",x)
return 0
}
int even(int x)
{
if(x%2==0)
return 1
else
return 0
}
7. 编写函数mypow,求整型变量x的y次方。(要求包括能使程序正常运行的主函数)
#include
int main(void)
{
int mypow(int,int)
int x,y,s
scanf("%d%d",&x,&y)
s=mypow(x,y)
printf("%d的%d次方是 %d\n",x,y,s)
return 0
}
int mypow(int x,int y)
{
int sum,i
sum=1
for(i=1i<=yi++)
sum=sum*x
return sum
}
8.输入一个3位整数,输出它的逆序数。例如,输入127,输出应该是721。
#include
int main(void)
{
int x,y
scanf("%d",&x)
y=x/100+x/10%10*10+x%10*100
printf("%d的逆序数 %d\n",x,y)
return 0
}
9. 编写一个字符串连接函数,其功能是将两个字符串连接起来形成一个新的字符串,以实现库函数strcat()的功能
#include
int main(void)
{
void mystrcat(char s1[],char s2[])
char s1[80],s2[80]
scanf("%s%s",s1,s2)
mystrcat(s1,s2)
printf("%s\n",s1)
return 0
}
void mystrcat(char s1[],char s2[])
{
int i,j
for(i=0s1[i]!='\0'i++)
for(j=0s2[j-1]!='\0'j++)s1[i+j]=s2[j]
}
10. 编写一个字符串复制函数,其功能是将字符数组s2中的全部字符(包括字符串结束符号'\0')拷贝到字符数组 s1 中,以实现库函数strcpy()的功能。
#include
int main(void)
{
void mystrcpy(char s1[],char s2[])
char s1[80],s2[80]
scanf("%s",s2)
mystrcpy(s1,s2)
printf("%s\n",s1)
return 0
}
void mystrcpy(char s1[],char s2[])
{
int i
for(i=0s2[i-1]!='\0'i++)
s1[i]=s2[i]
}
11.有一字符串,包含n个字符。写一函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串
#include
int main(void)
{
void mystrcpy2(char s1[],char s2[],int m,int n)
char s1[80],s2[80]
int m,n
scanf("%d%d",&m,&n)
scanf("%s",s1)
mystrcpy2(s1,s2,m,n)
printf("s1: %s\ns2: %s\n",s1,s2)
return 0
}
void mystrcpy2(char s1[],char s2[],int m,int n)
{
int i,j
for(i=m-1,j=0i<n&&s1[i]!='\0'i++)
s2[j++]=s1[i]
s2[j]='\0'
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)