c语言题目!求高手解答!在线等!

4.编程,输入一行加减运算的字符串(少于80个字符),计算加减运算的结果。输入输出示例:10+52-28y=34提示:1)如果输入的字符串中包括数字和加减号以外的字符,提... 4.编程,输入一行加减运算的字符串(少于80个字符),计算加减运算的结果。
输入输出示例:
10+52-28
y=34
提示:
1)如果输入的字符串中包括数字和加减号以外的字符,提示输入错误。
2)把加减运算符两侧的字符串转换为整数,再运算

5.编程,输入一个字符ch和一个以回车符结束的字符串(少于80个字符),统计字符串中与ch相同的字母个数。
展开
 我来答
笃侠6A
2011-11-06 · TA获得超过3734个赞
知道大有可为答主
回答量:3205
采纳率:75%
帮助的人:3269万
展开全部
/************** (4) *************/

#include<stdio.h>
#include<string.h>

int main(){
char a[80],c,op=0;
int i=0,r=0,x=0,len;
scanf("%s",a);
len=strlen(a);
c=a[0];
if(c=='+' || c=='-') /*允许首字符为+-号 */
op=c;
while(i<len){
c=a[i];
if( !(c=='+' || c=='-' || c>='0' && c<='9') ){
printf("Error!\n");
return 1;
}
if(c>='0' && c<='9')
x=x*10+c-48; /* '0'的ASCII码=48 */
else if(c=='+' || c=='-'){
if(op=='+'){
r=r+x;
x=0;
}else if(op=='-'){
r=r-x;
x=0;
}else{
r=x;
x=0;
}
op=c;
}
i++;
} //while
if(x!=0)
if(op=='+')
r=r+x;
else
r=r-x;
printf("r=%d\n",r);

return 0;
}

/************** (5) *************/
#include<stdio.h>
#include<string.h>

int main(){
char a[80],c;
int i=0,n=0,len;
printf("c=?");
scanf("%c",&c);
printf("string=?");
scanf("%s",a);
len=strlen(a);
printf("%s,%d\n",a,len);
for(i=0;i<len;i++)
if(a[i]==c)
n++;
printf("n=%d\n",n);
}
淦海瑶s1
2011-11-06 · TA获得超过3646个赞
知道大有可为答主
回答量:3341
采纳率:100%
帮助的人:763万
展开全部
第一个题目不是很难,主要就是判断和赋值
写出思路,不给出全部啊
int i,j,k,zhi;
char a[81],b[][],c[];
int d[][],e[];
a[]=getchar();
for(i=0;a[i]!='\0';i++)
if(a[i]=='0'||a[i]=='1'||a[i]=='2'||a[i]=='3'||a[i]=='4'||a[i]=='5'||a[i]=='6'||a[i]=='7'||a[i]=='8'||a[i]=='9'||a[i]=='+'||a[i]=='-'||a[i]=='*'||a[i]=='/')
continue;
else
{
printf("Error!!!");
exit (0);
}
j=0;
k=0;
for(i=0;a[i]!='\0';i++)
{
if(a[i]!='+'||a[i]!='-'||a[i]!='*'||a[i]!='/')
{
b[j][k]=a[i]; //操作数赋值
k++;
}
else
{
c[j]=a[i]; //加减乘除赋值
j++;
b[j][k]='\0'; //最后一个赋值'\0'
k=0;
}
for(i=0,j=0;b[i][j]!='\0';) //操作数变化
d[i][j]=(int)(b[i][j]-='0');

}
明天再写了,今天太晚了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wangchunchun62
2011-11-06 · 超过15用户采纳过TA的回答
知道答主
回答量:32
采纳率:0%
帮助的人:31.5万
展开全部
第五题的
#include <stdio.h>
void main()
{
int i,count=0;
char ch,s[80];
printf("请输入一个字符ch:");
scanf("%c",&ch);
fflush(stdin);
printf("请输入字符串:");
gets(s);

for(i=0;s[i]!='\0';i++)
if(s[i]==ch)
count++;
printf("与ch相同的字符的个数为%d\n",count);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式