#1146: 累贅的輸出 為什麼呢?


morris1028 (碼畜)

School : 國立花蓮高級中學
ID : 3529
IP address : [1.171.53.80]
Last Login :
2019-07-14 17:10:35
b138. NOIP2005 1.陶陶摘苹果 -- NOIP2005普及組 | From: [118.160.206.164] | Post Date : 2009-01-08 20:03

#include<stdio.h>  
#include<stdlib.h>
#include<string.h>
main()
{
 int a,b,c,m,n,temp,time,temp1;
 int x[11];
 char y[100];
 while(gets(y)!=0&&scanf("%d",&n)==1)
 {temp=0;time=0;temp1=0;    
  for(a=0;a<=strlen(y);a++)
   {
   if(y[a]<=57&&y[a]>=48)
    temp=temp*10+y[a]-48;
   else
    {x[time]=temp;temp=0;time++;}
   }
  for(b=0;b<10;b++)
   {
   if(x[b]<=n+30)
    temp1++;
   }
   printf("%d",temp1);
   printf("\n");
 }   
  return 0;    
}

當我輸入1筆沒問題 但是第2筆 在輸入時 突然printf temp?

 
#1190: Re:累贅的輸出 為什麼呢?


morris1028 (碼畜)

School : 國立花蓮高級中學
ID : 3529
IP address : [1.171.53.80]
Last Login :
2019-07-14 17:10:35
b138. NOIP2005 1.陶陶摘苹果 -- NOIP2005普及組 | From: [118.161.219.131] | Post Date : 2009-01-18 12:06

#include  
#include
#include
main()
{
 int a,b,c,m,n,temp,time,temp1;
 int x[11];
 char y[100];
 while(gets(y)!=0&&scanf("%d",&n)==1)
 {temp=0;time=0;temp1=0;    
  for(a=0;a<=strlen(y);a++)
   {
   if(y[a]<=57&&y[a]>=48)
    temp=temp*10+y[a]-48;
   else
    {x[time]=temp;temp=0;time++;}
   }
  for(b=0;b<10;b++)
   {
   if(x[b]<=n+30)
    temp1++;
   }
   printf("%d",temp1);
   printf("\n");
 }   
  return 0;    
}

當我輸入1筆沒問題 但是第2筆 在輸入時 突然printf temp?


OK了 多設幾個變數 好像就沒問題 
#15266: Re:累贅的輸出 為什麼呢?


wish.rirf@gmail.com (C++ 與我)

School : 臺北市私立薇閣高級中學
ID : 82132
IP address : [59.115.141.43]
Last Login :
2019-11-03 15:58:33
b138. NOIP2005 1.陶陶摘苹果 -- NOIP2005普及組 | From: [111.243.11.9] | Post Date : 2018-09-23 20:17

#include  
#include
#include
main()
{
 int a,b,c,m,n,temp,time,temp1;
 int x[11];
 char y[100];
 while(gets(y)!=0&&scanf("%d",&n)==1)
 {temp=0;time=0;temp1=0;    
  for(a=0;a<=strlen(y);a++)
   {
   if(y[a]<=57&&y[a]>=48)
    temp=temp*10+y[a]-48;
   else
    {x[time]=temp;temp=0;time++;}
   }
  for(b=0;b<10;b++)
   {
   if(x[b]<=n+30)
    temp1++;
   }
   printf("%d",temp1);
   printf("\n");
 }   
  return 0;    
}

當我輸入1筆沒問題 但是第2筆 在輸入時 突然printf temp?


OK了 多設幾個變數 好像就沒問題

#include<iostream>
using namespace std;
int app[10],height,total;
int main(){
for(unsigned short lcv = 0;lcv < 10;lcv++)
cin>>app[lcv];
cin>>height;
for(unsigned short lcv = 0;lcv < 10;lcv++){
 if(app[lcv] <= height+30)
  total++;
}
cout<<total;
return 0;
}

 
ZeroJudge Forum