你喔o 2016-03-26 04:43 采纳率: 25%
浏览 3202
已采纳

pat 部分A+B 求大神帮帮忙,初学C语言

找不出错误。。。
正整数A的“DA(为1位整数)部分”定义为由A中所有DA组成的新整数PA。例如:给定A = 3862767,DA = 6,则A的“6部分”PA是66,因为A中有2个6。

现给定A、DA、B、DB,请编写程序计算PA + PB。

输入格式:

输入在一行中依次给出A、DA、B、DB,中间以空格分隔,其中0 < A, B < 1010。

输出格式:

在一行中输出PA + PB的值。

输入样例1:
3862767 6 13530293 3
输出样例1:
399
输入样例2:
3862767 1 13530293 8
输出样例2:
0

#include
#include
int main(void)
{
int i,b,j,k,temp,count=0,sum=0;
char A[12];char a[12];
char D;
k=0;
b=0;
for(i=1;i<=2;i++)
{
scanf("%s",&A);
scanf("%c",&D);
temp=strlen(A);
printf("%d",temp);
for(j=0;j<temp;j++)
{
if(D==A[j])
{
count++;
}
}
printf("%d\n",count);
if(count!=0)
{

   for(j=1;j<=count;j++)
   {
     sum=sum*10+D-'0';

   }
 }

}

printf("%d\n",sum);
return 0;
}
有人可以帮帮忙吗/(ㄒoㄒ)/~~

  • 写回答

3条回答 默认 最新

  • 小灸舞 2016-03-26 07:46
    关注

    我把改动的地方都写在代码注释里面了

     #include<stdio.h>
    #include<iostream>
    using namespace std;
    int main(void)
    {
        int i,b,j,k,temp,count=0,sum=0;
        char A[12];char a[12];
        char D;
    
        b=0;
        for(i=1;i<=2;i++)
        {
            k=0; //每循环一次就重置为0
            scanf("%s",&A);//这里最好改成scanf("%s",A);(数组不需要取地址)
            scanf(" %c",&D);//这里需要加个空格匹配掉输入缓冲区中读掉第一个数以后遗留下来的空格
                            //不然D将会读到这个空格,楼主不信可以打印验证
            temp=strlen(A);
            //printf("%d",temp);
            for(j=0;j<temp;j++)
            {
                if(D==A[j])
                {
                    count++;
                }
            }
            //printf("%d\n",count);
            if(count!=0)
            {
                for(j=1;j<=count;j++)
                {
                    k=k*10+D-'0';
                }
                sum = sum + k;//这里将每次循环得到的值累加到sum上
                count = 0;//这里需要将count重新置为0
            }
        }
        printf("%d\n",sum);
        return 0;
    } 
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 本题的答案是不是有问题
  • ¥15 关于#r语言#的问题:(svydesign)为什么在一个大的数据集中抽取了一个小数据集
  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 蓝桥杯单片机第十三届第一场,整点继电器吸合,5s后断开出现了问题
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 Arcgis相交分析无法绘制一个或多个图形