while(i<=5) {s+=fact(i); i=i+1; }
printf(\}
5、输入三个整数x,y,z,请把这三个数由小到大输出。 程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,
然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。
程序源代码: main() {
int x,y,z,t;
scanf(\if (x>y)
{t=x;x=y;y=t;} /*交换x,y的值*/ if(x>z)
{t=z;z=x;x=t;}/*交换x,z的值*/ if(y>z)
{t=y;y=z;z=t;}/*交换z,y的值*/
printf(\
16
}
6.下面程序的功能是从键盘输入10个整数,保存在数组a中,选出其中的最大数,与第1个数交换。
#include
{ int a[10],temp,i,k; for(i=0;i<10;i++) scanf(\ k=0;
for(i=1;i<10;i++) if(a[k]
temp=a[0]; a[0]=a[k]; a[k]=temp; for(i=0;i<10;i++) printf(\\}
7、输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
程序分析:利用while语句,条件为输入的字符不为'\\n'.
17
2.程序源代码: #include \main() {char c;
int letters=0,space=0,digit=0,others=0; printf(\while((c=getchar())!='\\n') {
if(c>='a'&&c<='z'||c>='A'&&c<='Z') letters++; else if(c==' ') space++;
else if(c>='0'&&c<='9')
digit++; else
others++;
}
printf(\in all:char=%d space=%d digit=%d others=%d\\n\
space,digit,others); }
18
8.编程求一个float类型数组中n(n=10)个数据的平均值。
#include
float
a[10]={43.0,33,14,32,9,21,4,32.2,56,11},ave;
ave=age(a,10);
printf(\}
float average(float x[] ,int n) { float sum=0,ave;
int i;
for(i=0;i<10;i++) sum+=x[i]; ave=sum/n; return ave; }
9、求一个3*3矩阵对角线元素之和
19
程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。
程序源代码: main() {
float a[3][3],sum=0; int i,j;
printf(\input rectangle element:\\n\for(i=0;i<3;i++) for(j=0;j<3;j++) scanf(\for(i=0;i<3;i++) sum=sum+a[i][i];
printf(\}
10. 任意输入20个整数,分别计算并输出其中负数的和。
#include
int x,s1=0,s2=0;
20