如何从键盘读取N个数,储存在整形数组中?
#include<stdio.h>
void main()
{
int num[100],i=0,j,sum=0;
do
{
scanf("%d",&num[i]);
i++;
}while(num[i-2]=='\n');
for(j=0;j<i-1;j++)
sum=sum+num[j];
printf("sum:%d",sum);
}
存进去的都是ASSICII码,如何实现存进去的是确切的数值?
强制转换都不起左右
è¿ä¸ªæ¯ä¸ªæ´å½¢æ°ç»å.ä¸æ¯ä»¥'\n'æè
'\0'ç»æå!åªæå符æ°ç»åæ¾å符串çæ¶åææ¯ä»¥'\n'æè
'\0'ç»æå.ä½ é£æ ·çç¨åºå¯æ¯ä¼åºç°æ°ç»è¶çç.
å¦æä½ æ³ä»¥å符è¾å ¥,æ°åè¾åºçè¯,ä¹åªè½å¾å°ä¸ä¸ªåå åæ¾ä¸ä¸ªå符,ä¹å°±æ¯è¯´ä½ å¾å°çæ¯ä¸ªä¸ªä½æ°.
char num[100],scanf("%s",num); å°±å¯ä»¥è¾å ¥ä¸è¿ä¸²çå符äº,num[i]-'0'å°±å¯ä»¥å¾å°æ´æ°.
å¦æä½ åªæ¯æ³éè¿å¾ªç¯å¾å°è¾å ¥ä¸ç»æ´æ°çè¯,é£åªè¦å¨è¿éwhile(num[i-2]=='\n'); æ¹ä¸ä¸while(i!=100);
å¦æä½ æ³ä»¥å符è¾å ¥,æ°åè¾åºçè¯,ä¹åªè½å¾å°ä¸ä¸ªåå åæ¾ä¸ä¸ªå符,ä¹å°±æ¯è¯´ä½ å¾å°çæ¯ä¸ªä¸ªä½æ°.
char num[100],scanf("%s",num); å°±å¯ä»¥è¾å ¥ä¸è¿ä¸²çå符äº,num[i]-'0'å°±å¯ä»¥å¾å°æ´æ°.
å¦æä½ åªæ¯æ³éè¿å¾ªç¯å¾å°è¾å ¥ä¸ç»æ´æ°çè¯,é£åªè¦å¨è¿éwhile(num[i-2]=='\n'); æ¹ä¸ä¸while(i!=100);
温馨提示:答案为网友推荐,仅供参考
第1个回答 2006-10-26
怎么 可能呢?
除非你输入的是非数字字符(我觉得)
除非你输入的是非数字字符(我觉得)
第2个回答 2006-10-26
存的是数字呀%d输入的都是数字,%c输入的是ASCII码
第3个回答 2006-10-26
我看到你接连3个问题都是关于这个程序的
int num[100]
这个是个整形数组啊.不是以'\n'或者'\0'结束啊!只有字符数组存放字符串的时候才是以'\n'或者'\0'结束啊
int num[100]
这个是个整形数组啊.不是以'\n'或者'\0'结束啊!只有字符数组存放字符串的时候才是以'\n'或者'\0'结束啊