两道c语言的编程题,很简单 ,急。。。最好注有说明,没有也没事。谢谢了!!!!

要求main调用该函数,调试后将运行结果粘贴在程序末。1输入若干非0实数,直到输入0时停止,要求输入的实数最多不超过20个,统计其中正数的个数,负数的个数。2输入一行字符... 要求main调用该函数,调试后将运行结果粘贴在程序末。
1输入若干非0实数,直到输入0时停止,要求输入的实数最多不超过20个,统计其中正数的个数,负数的个数。

2输入一行字符,统计其中的英文字母个数。
展开
 我来答
百度网友ded303bc6
2007-09-16 · 超过29用户采纳过TA的回答
知道答主
回答量:90
采纳率:0%
帮助的人:76.5万
展开全部
第一题:
#include <stdio.h>

int main()
{
int num[20]; /*存储输入的数据*/
int i=0;
/*输入不超过20的数,当输入为0时结束*/
do
{
printf("Please input a number:\n");
scanf("%d",&num[i]);
i++;
/*处理超过20个数的情况*/
if (i >=20 )
{printf("Too many numbers!\n");
break;
}
}while (num[i-1] != 0);
extern void count(int *p); /*count()函数声明*/
count(num);
return 0;
}
void count(int *p)
{
int countp=0,countm=0; /*计数器,正数,负数*/
for (int i=0;i<20;i++)
{
while (*p != 0)
{
if (*p > 0)
countp++; /*大于0,正数*/
else
countm++; /*小于0,负数*/
p++;
}
}
/*显示结果*/
printf ("The positive numberis: %d\nThe negative number is: %d\n",countp,countm);
}

第二题:这个用字符函数isalpha()就成了啊。。
#include <ctype.h>
#include <stdio.h>

int main()
{
char str[100]; /*定义字符数组,大小自己改*/
char temp;
int count=0; /*计数器*/
int i=0;
printf("Input ....\n");
while ((temp=getchar()) != '\n')
{
str[i]=temp;
i++;
}
for (i=0;str[i] != '\0';i++)
{
if (isalpha(str[i]))
count++;
}
printf("%d\n",count);
system("pause");
}
萌哒牛
2007-09-16 · TA获得超过1910个赞
知道小有建树答主
回答量:1100
采纳率:0%
帮助的人:111万
展开全部
1,解:源程序如下:(由于涉及到地址传递,所以必需要用到指针)
main()
{
int z,f;
printf("plsease enter a number:\n");
count(&z,&f);/*将作为地址传递,以便接收,因为值传递不会改变主函数中的内容呀*/
printf("zhen shu count=%d\n fu shu count=%d\n",z,f);
}
int count (int*b,int*c)
{
int i,a[20],y=0,z=0;
float x;
for (i=0;i<20;i++)
{
scanf("%f",&x);
if (x>0)
y++;
else if (x<0)
z++;
else
break;
}
*b=y;/*以地址方式将结果放在主函数的Z,F中,这个学了指针就知道*/
*c=z;
}

2,解:源程序如下:
int string(char a[])
{
int i,s=0;
for (i=0;a[i]!='\0';i++)
if (a[i]>='a'&&a[i]<='z'||a[i]>='A'&&a[i]<='Z')/*a[i]!='\0'表示若字符没有结束标志则继续循环*/
s++;
return s;
}

main()
{
char s[100];
int i,en=0;
clrscr();
printf("please enter a string:\n");
gets(s);
en=string(s);
printf("letter=%d",en);
}
以上程序理解都很容易,都可以在TC2.0和VC6.0++下运行的!
祝你学习进步呀!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
两只羊1qw
2007-09-16 · 超过16用户采纳过TA的回答
知道答主
回答量:99
采纳率:0%
帮助的人:54.6万
展开全部
void f()
{int a;
int b=0;
int c=0;
for(i=0;i<20;i++)
{
cin>>a;
if(a==0)
{cout<<"你输入的数是0.";break;}
if(a>0)b++;
else c++;
}
cout<<"你输入的正数个数是:"<<b;
cout<<"你输入的负数个数是:"<<c;

}
//然后在主函数里写入f();
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式