- 输入一个正整数(0<=n<=10),再输入n个整数,输出平均值编?
- #include
void main()
{
int i, n, m, sum=0;
printf("请输入n:");
scanf("%d",&n);
while(n>10 || n<=1)
{
printf("输入范围有误,请重新输入n:");
scanf("%d",&n);
}
for(i=1 ; i<=n ; i++)
{
printf("请输入第%d个数:",i);
scanf("%d%*c",&m);
sum += m;
}
#include
- 格式字符串的一般形式为:
%[*,输入数据宽度,长度]类型
其中有方括号[]的项为任选项
“*”符:用以表示该输入项,读入后不赋予相应的变量,即跳过该输入值。
如:
scanf("%d %*d %d",&a,&b);
当输入为:1 2 3时,把1赋予a,2被跳过,3赋予b。
%*c作用时读取输入流中数字后的一个字符,并丢弃,使得后面的输入函数不能读到那个字符
跳过一个字符
举个例子
C/C++ code
#include "stdio.h"int main(){ int a, b; scanf("%d%*c%d", &a, &b); printf("%d %d\n", a, b); return 0;}你输入1n2,那么scanf把1读取赋给变量a,如果跳过一个char(这里是 ‘n’)接着读取2赋给变量b