|  | 
 
 
 楼主|
发表于 2004-5-10 16:33:40
|
显示全部楼层 
| <  >函数名: scanf 功  能: 执行格式化输入
 用  法: int scanf(char *format[,argument,...]);
 程序例: <
  >#include <stdio.h> #include <conio.h> <
  >int main(void) {
 char label[20];
 char name[20];
 int entries = 0;
 int loop, age;
 double salary; <P>   struct Entry_struct
 {
 char  name[20];
 int   age;
 float salary;
 } entry[20]; <P>/* Input a label as a string of characters restricting to 20 characters */
 printf("\n\nPlease enter a label for the chart: ");
 scanf("%20s", label);
 fflush(stdin);  /* flush the input stream in case of bad input */ <P>/* Input number of entries as an integer */
 printf("How many entries will there be? (less than 20) ");
 scanf("%d", &entries);
 fflush(stdin);   /* flush the input stream in case of bad input */ <P>/* input a name restricting input to only letters upper or lower case */
 for (loop=0;loop<entries;++loop)
 {
 printf("Entry %d\n", loop);
 printf("  Name   : ");
 scanf("%[A-Za-z]", entry[loop].name);
 fflush(stdin);  /* flush the input stream in case of bad input */ <P>/* input an age as an integer */
 printf("  Age    : ");
 scanf("%d", &entry[loop].age);
 fflush(stdin);  /* flush the input stream in case of bad input */ <P>/* input a salary as a float */
 printf("  Salary : ");
 scanf("%f", &entry[loop].salary);
 fflush(stdin); /* flush the input stream in case of bad input */
 } <P>/* Input a name, age and salary as a string, integer, and double */
 printf("\nPlease enter your name, age and salary\n");
 scanf("%20s %d %lf", name, &age, &salary);
 <P>/* Print out the data that was input */
 printf("\n\nTable %s\n",label);
 printf("Compiled by %s  age %d  $%15.2lf\n", name, age, salary);
 printf("-----------------------------------------------------\n");
 for (loop=0;loop<entries;++loop)
 printf("%4d | %-20s | %5d | %15.2lf\n",
 loop + 1,
 entry[loop].name,
 entry[loop].age,
 entry[loop].salary);
 printf("-----------------------------------------------------\n");
 return 0;
 }
 
 </P>
 | 
 |