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; } else break; /*如果不是则跳出内层循环*/ } } 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); }
浙公网安备 33010602011771号