《C语言程序设计》(江宝钏著)实验八答案(5页).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);第 5 页-