程序填空:阅读程序。
在划线处填写适当的表达式或语句,使程序完整并符合题目要求
1.输入一个字符,判断该字符是数字、字母、空格还是其他字符。
main( )
{ char ch;
ch=getchar();
if( ch>=‟a‟&&ch<=‟z‟|| ch>=‟A‟&&ch<=‟Z‟)
printf("It is an English character\n");
else if( ch>=‟0‟&&ch<=‟9‟)
printf("It is a digit character\n");
else if( ch== …‟)
printf("It is a space character\n");
else
printf("It is other character\n");
}
2.下列程序的功能是从输入的整数中,统计大于零的整数个数和小于零的整数个数。
用输入0来结束输入,用i,j来放统计数,请填空完成程序。
void main()
{ int n,i=0,j=0;
printf(“input a integer,0 for end\n”);
scanf(“%d”,&n);
while (n或n!=0 ) {
if(n>0) i=i+1 ;
else j=j+1;
}
printf(“i=%4d,j=%4d\n”,i,j);
}
3.编程计算1+3+5+……+101的值
#include <stdio.h>
void main()
{ int i, sum = 0;
for (i = 1;i<=101 ; i++ )
sum = sum + i;
printf("sum=%d\n", sum);
}
4. 要求按照考试成绩的等级输出百分制分数段,A等为85分以上,B等为70~84分,C等为60~69分,D等为60分以下。
成绩的等级由键盘输入。
#include <stdio.h>
int main(){
char grade;
scanf("%c",&grade);
printf("Your score:");
switch( grade )
{ case 'A': printf("85~100\n"); break;
case 'B': printf("70~84\n"); break;
case 'C': printf("60~69\n"); break;
case 'D': printf("<60\n"); break;
default: printf("enter data error!\n");
}
return 0;
}
5.编程计算1+3+5…+99的值
main()
{ int i, sum = 0;
i=1;
while (i<100 )
{ sum = sum + i;
i++ ; }
printf("sum=%d\n", sum);
}
6.从键盘输入一个字符,判断它是否是英文字母。
#include <stdio.h>
void main()
{char c;
printf("input a character:");
c=getchar();
if( c>= …A‟ &&c<= …Z‟ || c>=…a‟ &&c<= …z‟)
printf("Yes\n");
else
printf("No");
}
7.输入一个字符,判断该字符是数字、字母、空格还是其他字符。
main( )
{ char ch;
ch=getchar();
if( ch>=‟a‟&&ch<=‟z‟|| ch>=‟A‟&&ch<=‟Z‟)
printf("It is an English character\n");
else if( ch>=‟0‟&&ch<=‟9‟)
printf("It is a digit character\n");
else if( ch== …‟)
printf("It is a space character\n");
else
printf("It is other character\n");
}
8. 自定义一函数求n!, 编写程序输入n,输出n!.
int jc(int n)
{ int i
int p=1;
while (i <= n)
{ p=p*i;
i++; }
return p;
}
void main()
{ int n;
printf("Please enter n:");
scanf("%d", &n);
printf("%d! = %d\n", n, jc(n) );
}
9.下面程序的功能是在a数组中查找与x值相同的元素所在位置,请填空。
#include <stdio.h>
void main()
{ int a[10],i,x;
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”);
}
10.下面是判断一个数是否为素数的函数
# include <math.h>
int IsPrime (int number )
{ int i;
if (number <= 1) /* 负数、0和1都不是素数*/
return 0 ;
for (i=2; i<sqrt(number); i++)
if ( number%i== 0 ) /* 被整除,不是素数*/
return 0;
return 1;
}
11.从键盘输入10名学生的成绩数据,按成绩从高到低的顺序排列并输出。
#include<stdio.h>
main(){
int a[10];
int i,j,temp;
printf("Input scores:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=1;i<10;i++)
for(j=0;j<9;j++)
if( a[j]<a[j+1])
{ temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } for(i=0;i<10;i++)
printf("%d,",a[i]);
}
12. 从键盘输入一个5行5列的矩阵,计算并输出其主对角线元素之和。
#include <stdio.h>
int main( ){
int i, j ,a[5][5];
printf(“Enter data:\n”);
for(i=0;i<5;i++)
for(j=0;j<5;j++)
scanf(“%d”,&a[i][j]);
for(i=0;i<5;i++)
for(j=0;j<5;j++)
if( i==j )
sum=sum+a[i][j];
printf(“sum=%5d\n”,sum);
}。