《C语言程序设计》(江宝钏著)实验八答案.doc
江宝钏实验八3一般编程题1. 用指针法统计10个数中正数、负数和零的个数,并分别求正数的总和,负数的总和。#include <stdio.h>void main()int a10;int i,*p,sum1,sum2,c1,c2,c3;printf("输入10个整数:");for(i=0;i<10;i+)scanf("%d",&ai);c1=c2=c3=0;sum1=sum2=0;for(p=a;p<(a+10);p+)if(*p<0) sum1+=*p;c1+;if(*p=0) c2+;if(*p>0) sum2+=*p;c3+;printf("正数,负数的和:%d %dn",sum2,sum1);printf("正数、零、负数的个数:%d %d %d n",c3,c2,c1);4较难编程题1. 输入一行字符,开始用一个指针指向这行字符的开头,并依次向后移,分别统计出其中英文字母、空格、数字和其它字符的个数。#include <stdio.h>#include <string.h>#define N 100void main()char *p;char strN;int c1,c2,c3,c4,i;printf("input a string:");gets(str);i=strlen(str);c1=c2=c3=c4=0;for(p=str;p<str+i;p+)if(*p>='a'&&*p<='z'|*p>='A'&&*p<='Z')c1+;if(*p=' ') c2+;if(*p>='0'&&*p<='9')c3+;else c4+;printf("字母个数:%dn",c1);printf("空格个数:%dn",c2);printf("数字个数:%dn",c3);printf("其他字符个数:%d",c4);3 ) , :字" ) )"% 数数 ) " %:格 实)验) 数" + +' *' +)'=+'' * |'=& + + ; 00 ) ) ()" , , ( 0 < . < 数个字字格母英其计,次,的行这指始符行程难) ," % 数数负数 ) , , 和负数(; = *;+ 0 (;+ * 0 +) <=(0 ;= ) ( + ;0):整 " * ( < 和和,的求并个的、中数统程般