void main() {char c;
printf(\ c=getchar();
if(c>= ‘A’ &&c<= ‘Z’ || c>=‘a’ &&c<= ‘z’) printf(\\\n\ else printf(\}
6. 下面程序的功能是在a数组中查找与x值相同的元素所在位置,请填空。       #include 
printf(?input 10 integers:?); for(i=0;i<10;i++)
scanf(?%d?,&a[i]);
printf(?input the number you want to find x:?);
scanf(?%d?, &x );
for(i=0;i<10;i++)
if( x==a[i] ) break;
if( i<10 )
printf(?the pos of x is:%d\\n?,i);
else printf(?can not find x!\\n?); }
7.程序读入20个整数,统计非负数个数,并计算非负数之和。    #include 
{ int i, a[20], s, count; s=count=0;
for(i=0; i<20; i++) scanf(?%d?, &a[i] ); for(i=0; i<20; i++)
{ if( a[i]<0 ) continue ; s+=a[i] ; count++;
}
printf(?s=%d\\t count=%d\\n?, s, count?); }
8. 输入一个正整数n (1 #include      int i, index, k, n, temp;                                  /* 定义1个数组a,它有10个整型元素*/     printf(?Enter n: \                                   printf(?Enter %d integers: \, n);     for(i = 0; i < n; i++)           scanf(\     for(k = 0; k < n-1; k++){   /* 对n个数排序 */         index = k;          for(                            )                if(                )  index = i;                                                    }      printf(\     for(i = 0; i < n; i++)      /* 输出n个数组元素的值 */                                    return 0;}       三、 程序改错  一、 下面每个程序的划线处有语法或逻辑错误,请找出并改正,使其得到符合题意的执行结果。 1.求1?2?3?4???n   main()  {  long int sum;  / /若定义变量的语句有错误,常见考点有两个:(1)变量的类型,(2)在定义用于存放运算结果的变量时,一定要赋初值。一般赋值0或者循环初值。  int n,i=1;  scanf(\//若scanf语句有错误,常见考点有两个:(1)格式声明符号要与后面 欲赋值的变量的类型一致,此题%d与n的类型int一致(详见p69-78);(2)变量的前面要有地址符号&  printf(?\\n?);  while(i 终值为n-1, 由于且i初值为1,因此一共能够循环n-1次。比要求少了1次,因此应改为i<=n 或者i {  sum=sum*i; // 若不为sum赋初值,则此处无法计算sum*i。 i++; }  printf(\ //若printf语句有错误,常见考点有1个:格式声明符号要与 后面欲输出的变量的类型一致,此题%d与sum的类型long int不一致,应改为%ld(详见p69-78);   }  sum应初始化 即加入sum=1   第四行改为:scanf(?%d?,&n);  第六行改为:while(i<=n)或者 while(i  2.求一个数组中最大值及其下标。  main( )  { int max,j,m;   int a[5];    for(j=1;j<=5;j++)   // j=1为循环变量j赋初值为1,同时用j作为数字元素的逻辑 地址下标。因此输出的时候只能从a[1]开始输出,无法输出a[0].因此应将j赋初值0,相应的循环条件改为j<5或者j<=4用于控制循环执行5次       scanf(?%d?,a); //若scanf语句有错误,常见考点有两个:(1)格式声明符号要与 后面欲赋值的变量的类型一致,此题%d与a的类型int一致(详见p69-78);(2)变量的前面要有地址符号&      max=a[0];    for(j=1;j<=5;j++)  //修改思路与上一个for语句同    if(max>a[j])           { max=a[j];        m=j;      }    printf(?下标:%d\\n最大值:%d?, j, max)  //j为for语句的循环变量,当for语句 执行完之后,j中的值为6,并非最大值下标,在执行某一次循环的比较过程中,将当时最大值的下标存在了m里   } 
相关推荐: