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