GeraltCN 2016-03-31 00:55 采纳率: 0%
浏览 1278

新手一个关于循环的问题

先输入一个数n 来表示需要循环几次
但是如果输入了2 在第二次输入字符串的时候 结果是错误的

代码写的烂 轻喷

#include<stdio.h>
#include <stdlib.h>
void qiuhe(char a[1000],char b[1000])
{
    char a1[1000];
    char b1[1000];
    int A[1000];                             
    int B[1000];
    int s1=0;
    int s2=0;

    for(int i1=0;a[i1]!='\0';i1++)      
    {
        a1[i1]=a[i1];
        A[i1]=atoi(&a1[i1]);
        s1+=1;
    }

    for(int i2=0;b[i2]!='\0';i2++)      
    {
        b1[i2]=b[i2];
        B[i2]=atoi(&b1[i2]);
        s2+=1;
    }

    int g[1000];
    int h[1000];
    int j[1000];
    int t=0;
    while(t<1000)
    {
        g[t]=0;
        h[t]=0;
        j[t]=0;
        t++;
    }

    for (int i3=0;i3<s1;i3++)
    {
        g[i3]=A[s1-i3-1];   
    }   

    for (int i4=0;i4<s2;i4++)
    {
        h[i4]=B[s2-i4-1];   
    }   

    int c=s1>s2?s1:s2;
    int final[1000];    
    for(int i=0;i<c;i++)
    {
        j[i]+=g[i]+h[i];
        if(j[i]>=10)
        {
            j[i]-=10;
            j[i+1]+=1;
        }
        final[i]=j[i];
        final[i+1]=j[i+1];
    }
    for(int r=c;r>-1;r--){

    if(r==c&&final[r]==0)
        continue;

    printf("%d",final[r]);
    }
}
int main()
{
    char x[1000],y[1000];
    int n;
    scanf("%d",&n);
    while(n){
    scanf("%s%s",x,y);
    qiuhe(x,y); 
    if(n!=1){printf("\n\n");}
    else {printf("\n");}
    n--;
    }
} 

  • 写回答

2条回答 默认 最新

  • 小灸舞 2016-03-31 01:42
    关注

    楼主是都输入数字的吗?还是说输入带字母的字符串的时候结果不对
    图片说明

    评论

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?