代码题规格/三个代码题
作者:互联网
- 代码题规格
现在的PTA和leedcode为了提高刷题的效率,都是采用主函数中输入输出机器定,但辅函数是要自己敲,
这种刷题的形式一定要逐渐熟悉,以后对于书上的题也要这样。
#include<stdio.h>
int factorial(int n);
int main(void)
{
int n;
scanf("%d",&n);
printf("%d\n",factorial(n));
return 0;
}
int factorial(int n)
{
int i,fact=1;
for(i=1;i<=n;i++){
fact=fact*i;
}
return fact;
}
- 代码题
1.猜随机数
此题收获
1)stdlib.h里包含sprand-rand搭配的函数;time.h里包含time(0)意思为给出当前时间,失败返回0
2)do while 循环在需要计数的类型题中有奇效
3)while(里的式子是中文含义的反命题)
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
srand(time(0)); //根据当前时间来设置随机数
int number=rand()%100+1; // ???
int count=0;
int a=0;
printf("本机器已经想好了一个随机数\n");
do{
printf(" 请你猜猜看:\n");
scanf("%d",&a);
count++; //体现do while 优越
if(a>number)
{
printf("more!");
}else if(a<number)
{
printf("less!");
}
}while(a!=number); //程序需要 直到a=number 的反命题
printf("你花了%d次猜对我的心思\n",count);
return 0;
}
2.求正整数n平均数
1)for循环也可以实现
#include<stdio.h>
int main()
{
int n;
int sum=0;
scanf("%d",&n);
int m=n; //原来的数
while(n!=-1)
{
sum+=n;
n--;
}
printf("1-n的平均数为%f\n",float(sum)/m);
return 0;
}
/* n =3
sum =3 5 6 6
n=2 1 0 -1
*/
3.正数逆序
1)此题精华在于从个位开始
ret=ret*10+m,最开始的位后面会不断参与乘以10,中间的少点,最高位就一次
#include<stdio.h>
int main()
{
int x; //输入一个正整数
int m; //接受各位数
int ret=0;
scanf("%d",&x);
do{
m=x%10;
ret=ret*10+m; // 我逐位输出显得太小儿科
x/=10;
}while(x!=0);
printf("%d",ret);
return 0;
}
/*
int reverse( int number ) // 题目中的测试函数带; 复制的时候记得删除
{
int m; //接受各位数
int ret=0;
do{ //PTA中只用写次函数 ,注意 主函数它已经给出
m=number%10; // 输入输出要删除,次函数变量也要删除
ret=ret*10+m;
number/=10;
}while(number!=0);
return ret;
}
*/
标签:10,int,代码,number,ret,while,规格,三个,printf 来源: https://www.cnblogs.com/jacychen/p/16244351.html