C语言复习(二)

【输入输出函数及格式】


1.程序中可以直接调用的输入输出函数:

scanf(); //格式输入

printf(); //格式输出

getchar(); //字符输入

putchar(); //字符输出

gets(); //字符串输入

puts(); //字符串输出

2.格式字符:

%d:十进制整数

%x、%X:十六进制整数

%o、%O:八进制整数

%U:不带符号的十进制整数

%c:单个字符

%s:字符串

%f:十进制单、双精度数

%e、%E:指数形式的实数型

%g、%G:指数形式的实数型,不带无效0的浮点数

%格式字符:输出格式字符。

3.程序示例:

scanf/printf("%2d,%4d",&a,&b);//&为取地址符,2,4为数据长度
scanf/printf("%s",str);//字符串无需取地址符

 

【循环结构】


注意:

for(表达式1;;表达式3)
    语句
//若表达式2省略,则不判断循环条件,需要从语句中设置相应的程序条件来结束循环

 

 

【典型例题】

1.分解质因数

include<stdio.h>
        void main()
        {
            int n,i;
            printf("\nplease input a number:\n");
            scanf("%d",&n);                     /*输入一个整数*/
            printf("%d=",n);
            for(i=2;i<=n;i++)
            {
                while(n!=i)
                {
                    if(n%i==0)
                    {
                        printf("%d*",i);      /*如果能除尽说明是该数的因子*/
                        n=n/i;
                    }
                    elsebreak;                 /*如果不是则跳出内层循环*/
                }
            }
            printf("%d",n);
        }

2.最大公约数、最小公倍数

#include <stdio.h>
        void main( )
        {
            int m, n, a, b, r, t ;
            printf("输入两个正整数:");
            scanf("%d,%d",&m, &n);
            a=m; b=n;
            if (m>0 && n>0)
            {
                if(m<n)
                {
                    t=m ;
                    m=n ;
                    n=t ;
                }
                r=m%n;
                while(r!=0)
                {
                    m=n;
                    n=r ;
                    r=m%n;
                }
                printf("%d和%d的最大公约数为%d\n", a, b, n);
            }
            else
                printf("输入了负数!\n");
            printf("%d和%d的最小公倍数为%d\n", a, b, a*b/n);
        }

 

posted on 2019-10-21 22:17  能晓远  阅读(270)  评论(0)    收藏  举报

导航