改动处见注释,供参考:
#include <stdio.h>
int main()
{
int n, i, iSum;
printf("1000以内的完数有:"); // 修改
for (n = 1; n <= 1000; n++) {
for (i = 1,iSum = 0; i <= n / 2; i++) { // 修改 iSum = 0 ,每个 n 需iSum复位归零
if (n % i == 0)
iSum += i;
}
if (iSum == n)
printf("%d ", iSum);
}
return 0;
}
属于一个字符串,其中以空格隔开。
方法1
int num=0;
char ans[100][100];
while(scanf("%s",ans[num])!= EOF){
num++
}
方法2
tring s[81];
int num=0;
while(cin >> s[num]){
num++;
}
//如果是cin>>s[num++],最后一个字符没输入的时候,Num会++,
方法3
c++竟然没有 split函数,这也太 。。。不方便了。
#include <string.h>
#include <stdio.h>
#include <iostream>
int main(){
char s[1000] ;
getline(cin,s);
const char *sep = ",*"; //可按多個字符來分割
char *p;
p = strtok(s, sep);
while(p){
printf("%s ", p);
p = strtok(NULL, sep);
}
printf("\n");
return 0;
}
//輸出: a b c d