ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

代码题规格/三个代码题

2022-05-07 22:32:38  阅读:167  来源: 互联网

标签:10 int 代码 number ret while 规格 三个 printf


  • 代码题规格

现在的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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有